debacle: Actually there's quite some *code* reuse. There's just not the *data* sharing you were asking for (you can't access PubSub nodes via MQTT; basically just credentials can be shared).
Holger Good, at least that! :)
And yes ejabberd is a bit systemd-style there, stuffing more or less unrelated things into a single daemon. XMPP, MQTT, SIP, STUN/TURN, HTTP, ACME client, whatever I forgot :-) I neither see a great advantage nor a real downside. But yes Prosody's solution may of course be way more interesting.
debacleuses Emacs as window manager (exwm) - in the end only ejabberd, Emacs, and systemd will fight over the last remaining features!