AFAIK, this is painfully wrong and one of the main reasons XMPP struggles. Nearly all of the modern 'messaging needs' are provided by the kind of XEPs mentioned in the article. If you don't have an account with a server that supports all of those XEPs, your needs will NOT be met. There is no easy way to tell if your server supports them, either. The situation is atrocious from a user perspective. As far as mass adoption is concerned, this puts XMPP so far out of the league of centralized IM that it's eating twizzlers in the parking lot.
There's a reason that everyone using Conversations essentially has to use a server that is maintained by the developers. Otherwise, most of the XMPP featureset they offer simply doesn't work. This lack of homogeneity between servers means users pile up in the 'better' servers, which is apparently the opposite of what federation is supposed to achieve (?).
What if you want the freedom to switch from the Conversations server to a different public server but maintain the same feaureset? Good luck with your Google searches. Keep a table of your relevant XEPs nearby!
I think there needs to be incentive built into the protocol for all servers to maintain a baseline of XEP parity. In it's current state there is absolutely no way to convince the average user of XMPP's superiority. The experience is far too inconsistent. At least Matrix can provide a clean slate.