For your use case you need ephemeral pubkeys sending encrypted messages.
The design of nostr builds its censorship resistance on the fact that events are not bound to any one relay. They can be re-submitted to different relays. But relays have to filter spam, which is hard with ephemeral keys sending encrypted messages.
This dilemma already led to paid relays that only let paying pubkeys store events there or to throttling and time-constraints, making it hard to re-submit all my events to another relay.
I think, we need relays that charge sats first thing when opening the websocket and then credit that balance with what gets requested and sent. Then, relays could charge for example x3 for encrypted events and x2 for ephemeral authors, all without the need for long-lived pubkey-relay relationships. With these things in place, GiftWraps are ok. Without DM and GiftWraps, maybe we don't need these things. (I think we should have these things regardless.)