The earliest RFC which I know of which spells it out is RFC 805,
https://tools.ietf.org/html/rfc805 It was clear that the information
content of all these syntactic alternatives was the same, so that
the one causing least difficulty for existing systems should be
chosen. Hence it was decided to add all new information on the
right of the @ sign, leaving the "user" field to the left
completely to each system to determine (in particular to avoid the
problem that some systems already use dot (.) internally as part
of user names).
The conclusion in this area was that the current "user@host" mailbox
identifier should be extended to "user@host.domain" where "domain"
could be a hierarchy of domains.
In particular, the "host" field would become a "location" field
and the structure would read (left to right) from the most
specific to the most general.
It was chosen apparently because RFC 805 was standardizing to "mailbox@computer", and since 'mailbox' is more specific than 'computer' it became more and more specialized going left.
As for why 'mailbox' comes first, it's presumably because that's someone's username. The very first thing you want to see is, "I'm sending this to drostie," and only afterwards do you need to know where that server is located.