I've had very consistant issues with messages not decrypting on Matrix with Megolm, and it's known for leaking a lot of metadata. I'm also not a fan of the Matrix foundation heavily courting law enforcement and getting funded by Israel. I know it's open-source, but combined with the problems I've faced using, the fact that the self-hosting side mostly targets enterprise use, and the heavy resource usage of Matrix when self-hosting, I personally think XMPP is the better option currently.
OMEMO is structured similarly to Signal's encryption. It probably doesn't scale up super well to like, 10,000+ users, but OMEMO can be turned off for super large channels where encryption might not be needed, and turned on for smaller groups where privacy is desired or between friends.