one XMPP server gets big and usernames get squatted and dealt with at the discretion of the server admin.
Only solution is something like how Farcaster does it where you at least get to keep your public key the same and usernames are optional.
https://github.com/farcasterxyz/protocol#3-identity
Or go the urbit route and make the addresses totally user owned.