Jabber has almost completely solved this. TFA mentions how and notes the two places that have in-progress XEPs for improving (there's a race with MAC/Carbons where you have to either risk duplicate messages or dropping; current recommendation is to do the former and check for dupe).
On top of this, by far the best client I've used for XMPP is Android-only (Conversations.im). I have no problem using Gajim on my desktop and Conversations on my phone, and I have an SMS/MMS bridge (jmp.chat) that lets me send even to people without jabber from it. Multi-device and mobile is the one place where XMPP is ahead of 99% of the other messages, and it works similarly well to Matrix in my limited experience with Matrix.