I don't use XMPP since the Google talk era, how are the available servers nowadays? Does they support federation, meaning that users from different servers can talk to each other?
I can't speak for the backend, because I've never hosted a server myself, but I find the good XMPP clients to have many more features and to be much more performant than the good Matrix ones.
https://joinjabber.org/ has a handful of recommendations, and if you're curious about features supported by a specific server, check out https://compliance.conversations.im/ to view that information.