At minimum relays will always see the private messages, unless you develop some rather advanced system to avoid that.
But if you do, is it even Nostr anymore? That'd just be a whole new protocol you're hoping that Nostr relays implement. Maybe they shouldn't be the same protocol.
I don't think Nostr is ideal for private messaging and that's ok. One can link to a different profile based on a different protocol for that.