You're absolutely right, ending up in spam is a real pain. I've run into the same issue myself with custom domains; even when everything is set up correctly, delivery can still be unreliable.
Reputation is everything in email delivery.
Obviously they can only do this for unique-enough names and so this filtering could never work for “Joe Miller” but it does stop the dozens of phishes we see per day that are FROM our CEO’s first and last name but with a Gmail email address.
I don't know why this stuff would be rejected. I went through several debugging steps online and didn't get anywhere with it. Every tool said I had set it up correctly.