Interestingly, uiop/common-lisp.lisp sets clos::*redefine-class-in-place* in uiop/common-lisp — is the problem due to your compiling asdf/defsystem separately, and bind r-c-i-p in LOAD, so that this setting doesn't apply to asdf/defsystem?
At first, your solution looked like it wasn't working. Then, I tried to reproduce, and then it worked against ASDF 3.1.2. But still not against the syntax-control branch. I'm confused.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If it's not worth doing, it's not worth doing well — Donald Hebb