You're right that Matrix focuses on a distributed design where no single server is responsible for a room. XMPP doesn't focus on this (though there are XEPs for it, I don't know of any use of them outside of military deployments).
The "everything everywhere" eventual consistency approach Matrix takes means it is resilient for sure, but it's not always a desirable feature. The IETF recently trialled Matrix and were caught out by this behaviour: https://mailarchive.ietf.org/arch/msg/tools-discuss/bdGVrXm7...
It can raise questions about data ownership and retention.
I am happy both protocols exist, and bridges between them exist. For my use cases I am sticking with XMPP.