I think the root of the contention here is that you don't seem to understand what Matrix does - this is probably my fault for failing to explain it better to you in person at FOSDEM. It is not a pointer to a stream of messages. The whole point is to store arbitrary data (e.g. room history and state) as a directed acyclic graph shared over all the participating servers. It's a big distributed datastructure with eventual consistency semantics which happens to be usable for chat. Or any other kind of real-time requirements.
If you wanted to compare it to a XEP, then FMUC would be a better comparison than MAM subscriptions. And yes, you're right that one could have built it on top of the XEP stack of standards, just like FMUC did. We could also have layered it on top of IRC. Or IMAP. Or NNTP. Or ZMQ. Or MSRP. Or Psyc etc.
Instead, we chose to layer on HTTP in order to keep it as simple as possible - we simply don't need most of the abstractions that XMPP provides. And we believe it's easier for a protocol to get traction if it has a single monolithic spec which defines feature compatibility profiles for interop than if it's a huge collection of optional extensions.
In the end, these are both subjective opinions, but I see no harm in there being two different philosophies out there for solving the problem of interoperable communication. Especially as it's not a competition, given both can 'win' by bridging together.