That’s in no relation to ‘why Monzo’, but I know a little about ‘why’ more than one domains is commonly used. It’s partially about sender’s IP reputation and a bit about technical setup. It’s safer to use 2 different domains:
-
one for marketing. Comms in this category which often cause a slow degradation or general poor performance of emails. Lower volumes of opens and clicks are observed/scored - if Gmail for example realises that stuff is bad, they vanish emails completely. It’s often first email sent to an account, so scrutiny is even harder.
-
one for serious stuff like magical links to login. They have very good open rates and click rates.
If you send from one domain… you risk tainting reputation, causing serious emails not being delivered due to marketing emails. I’ve had this problem in my company, password reset emails were totally s**tlisted by AOL and no magic could make this go away.
Monzo appears to use @monzo.com for personal work emails (keeping reputation), while getmondo.co.uk and monzoemail.com are used for marketing, as well as magical login links. Monzo seems to go quite light on marketing, so reputation (in context of users always receiving login links - quite essential stuff) seems to be not a concern.
Also - setup for specific company. Some emails are sent from backend, some are sent from ESPs, like Dotmailer, Mailchimp or Pure360. For ESP, you have to point NS records for their servers to go fine through SPF checks. This is done to help Gmail - as an example - verify IP xx.xx.xxx.xx is okay to use YZC.com domain. This is mechanic that flags emails from bill@microsoft.com as spam, cause they were not sent from IP allowed to use microsoft.com domain.
Now, why 2 totally different domains? Sub-domains inherit/share reputation and cumulatively under top level domain. Rules are a bit magical and no one ever explained to me if we know anything solid… but it somewhat makes sense that subdomains contribute to top domain’s reputation, otherwise companies sending could just switch to new subdomain to deliver spam successfully.
Moving to a new domain isn’t easy as well! In my company we did controlled sends to 100, 200, 300, 500, 1000, (keep increasing) users a day, just to reach capacity to send a full blast to 500,000 users. And even that was throttled and we had some hiccups along the way.
End! Let’s say I had few marketing or ESP related integrations behind me. Left me a bit traumatised. 
It would be nice if Monzo had all eligible emails in FAQ somewhere, under ‘I received an email from X, is it genuine?’.