What went wrong with XMPP and federated servers?
XMPP never got its story together for mobile clients. Sure there are some configurations of XEPs that will eventually allow you a reasonable configuration that supports multi device, history, media, etc, but for whatever reason, gluing those pieces together into something sane has evaded our community.
Actually this is exactly what Snikket is doing: https://snikket.org/about/goals
But in fact most servers are mobile friendly, and have been for many years. You can dig into the data at https://compliance.conversations.im/ (Conversations being the leading mobile XMPP client).