I'm sorry to hear that. When was this? We have been making a huge effort to fix problems like these over the last 1-2 years (albeit focusing on workplace comms rather than discord-style comms, but the hope is that discord-style comms will follow).
> The onboarding flow sucks, if you want to send email logins it implicitly requires them to make matrix.org or whatever accounts
It sucked for sure on the legacy apps, but I think we fixed it on Element X.
Email-based login does not require matrix.org accounts (and never did) - it sounds like there's confusion there with inviting users by email, which indeed needs you to run an email->matrix 'identity server' (which defaults to matrix.org). If you were trying to build your own matrix hosting stack, I can see why this would be painful.
> there was no canonical FOSS project for that custom server
Assuming we're talking about the same thing, the canonical identity server is http://github.com/element-hq/sydent (formerly http://github.com/matrix-org/sydent).