RFC 5322 does say that a `+` is a valid character in the local part of an e-mail address.
The `+` character being used for address aliasing is, as far as I can tell, not mentioned in RFC 5321 or RFC 5322
There's no + aliasing in the specs. There's no interpretation defined for local part of email address.
I'd be surprised if many harvesters are going to bother with rules just for Fastmail domains. First of all, they have a bunch of them. Second, the spammers' objective is to get email into your mailbox. They don't care if they use an alias to get there. Bad actors who got your info in a data breach are a different story, but there's probably some safety in numbers. There could potentially be millions of accounts to go after before they start thinking about reversing my Fastmail alias. Besides, if you use one of the generic ones like qq.com or eml.cc - or even better yet, your own domain - they're not likely to notice anyway.
You want something that is sufficiently random that it can't be easily guessed or gamed, but can be quickly and easily determined on your side.
Salted cryptographic hashes might be a good place to start.
So the fact that the MTA will route it is irrelevant if it never makes it to the MTA in the first place.
+ as a magic character to effect routing isn't part of the standard. Mail servers are free to route addresses to mailboxes in whatever manner they see fit. That + can appear as a character in an address is part of the standard, just not the behavior of it; a server that treats a+1@ and a+2@ as distinct emails is conforming, and from a sending side, you cannot know if a+1@ and a+2@ will end up in the same mailbox.
(But you're absolutely right that too many sites fail to parse email addresses. Or rather, they over-parse.)
I believe this was part of the email standard?
But yes, that's why Fastmail supports the alternative syntax.