Aliases are always recommended over your main email address.
You can have a few email addresses (1 protonmail for personal stuff, 1 protonmail for anonymous/private accounts, etc) and then have a alias account for your personal email and an alias account for your anonymous/private email, etc. This way if the alias service you use gets comprimised, it will not link your personal accounts to your private/anonymous accounts.
Didnt google preach at their yearly summit about making RCS a global standard? Google should be releasing fully open source APIs for Kotlin, Swift and Dart.
Nevertheless, I am skeptical on how the encryption works especially if your buddy is using Google messanger and if you were using a 3rd party RCS app.
Yubikeys are good. A Open source alternative is Onlykey
XMPP is more lightweight but way more clunky. I think Matrix is better since all the features are built in and is having more development, more users and more clients on multiple operating systems.