OK, I have pushed a better solution to gitlab on cl.net, as merge request 95.
The history of this branch is a little messy, so I will squash-merge it later. But I would definitely appreciate other eyes on.
I had hoped to localize the fix, but it was too hard for me -- getting it right involved excruciatingly complex dealing with evaluation at read, compile, and load times, and the difference between loading ASDF as a big single file and as an ASDF system itself.
I'll plan to merge this into master at the end of the week unless I hear some screams before then.
P.S. I created a milestone for a bug fix release, but mis-named it, and I don't seem to be able to edit it. 😜
Cheers, r