I hit this recently and decided to investigate a little bit.
I'm still not 100% sure if we can arrive here with Access == AS_none, though.
Please add an assert that the Target is marked invalid here. I would also think that assuming invalid declarations are accessible is a better default; we don't want additional follow-on errors after the initial diagnostic that resulted in the entity being marked as invalid.
(And this comment also applies to the other change.)