Private messages are just an option that needs to be switched on. And it is on by default. I turned it off deliberately until we know more about how we’re going to do notifications and messaging in MetaBrainz projects. We obviously don’t want to end up with multiple different ways to private message someone else.
We’re working on a solution so that usernames will be identical across MB and Discourse at least. We obviously can’t enforce IRC, but with time (a loooong time), this should also hold true for ticket tracker and all the rest of our sites as we get moving to MB-based SSO setups. But for Discourse at least, it should hold true from one of the next two server releases (or possibly earlier, depending on whether we feel like using beta.musicbrainz.org to authenticate against until the new SSO backend is fully released on main MB.o - we’ll see).