I agree, npub as canonical reference is fine. User needs consistency. We cannot expect that a user to pick and paste a "correct" (updated) nprofile when mentioning, it's a client job to built it using the last outbox settings.
Clients render the name anyway, or they should fallback to the npub if that is missing.
So the client could also automatically correct the user input if relay hints are unavailable, but this is a slippery slope that can have unwanted consequences and should be managed carefully.