Not sure what you mean by "at the core level", exactly. Prosody is quite modular, and everything is implemented as a module with access to the same APIs. Modules do not have performance limitations. I know ejabberd's architecture less well though.
Our internal XMPP pubsub (XEP-0060) support has a native code API designed for use by internal modules, so there is no need to marshal everything from MQTT into the appropriate XMPP stanzas for example, it's a direct mapping from MQTT to our internal API.