I'm on the same path trying to find a solution. Is it possible to just whitelist certain accounts without all the public rooms. E.g., I have my own instance, but want to allow a DM from friend@matrix.org without allowing public rooms or other random DMs?
As far as I can tell...you can't. Debating just using XMPP instead.
What my perfect use-case would be:
But given how DMs are essentially rooms...I'm not sure that level of fidelity is possible