How should I prevent a player from instantly recognizing a magical impostor without making them feel cheated?

In the campaign I’m running, I’m looking to introduce an NPC who is secretly an antagonistic oni in disguise. An oni’s shapechange feature, however, is explicitly described as magical, and one of my players is a warlock with the Eldritch Sight invocation. I’m worrying that the warlock might decide to use Eldritch Sight during the first encounter with the oni, before the party should have any reason to suspect them, and expose the NPC as an impostor way before I’d like them to.

However, I don’t like to just decide that the oni is immune to the effects of Detect Magic, or has a magic item that protects their identity, or knows Nystul’s Magic Aura, or anything like that. I feel like that wouldn’t be fair to the warlock’s player; after all, they specifically took the invocation to be able to detect magic at their leisure.

Ideally, I’d like to find a way to hint that the NPC might have some mystery surrounding them if the warlock decides to have ES active, but subtly enough to where the PCs won’t immediately distrust or attack the NPC.