WhatsApp uses a customized version of the open standard Extensible messaging and presence protocol (XMPP).[210] Upon installation, it creates a user account using the user's phone number as the username (Jabber ID: [phone number]@s.whatsapp.net). https://en.m.wikipedia.org/wiki/WhatsApp
And by how signal collaborated with WhatsApp encryption I would say it's very likely signal is xmpp also. But no confirmation so far.
It look more like omemo has been originaly based on signal protocol as try to implement it for xmpp not that signal uses omemo. Even if signal has been based on xmpp (which i don't think it is), first release is from 2014, 10 years of independet development is somethink which can kill compatibility. We have sourcecode of signal on github. I try look at it when i have time.