I've run a mail server since the late 90s. I gave up running my own outbound years ago. Whether it gets received is too inconsistent. Primarily, make sure the IP you use isn't on any spam lists. If it is, get a new IP or try to submit appeals. Make sure you have the standard anti spam/authenticity measures implemented (they're listed in the OP).
These are the minimum. Years ago it was enough to have reasonable delivery. Unfortunately these aren't that helpful anymore because spammers also set them up (often with seemingly randomly generated domain names). I assume because not having them was a fairly strong signal for being a spammer, so now they also set them up, which also means there's not really any configuration / setup you can do to seem legitimate (aside from mail volume and the content itself which will be analyzed).
Anyway running your own SMTP itself is easy. The problem is getting your mail to the inbox or at least spam/junk folder (your mail may get blackholed and not even show up in spam). At least when you get a rejection, you know something is wrong, but many times the receiving server will indicate a success code and simply not deliver it to the user (not even to their spam).