A big caveat not mentioned for Digital Ocean is that they blackhole IPv6 email traffic. It took a while for me to figure out why it wasn't working since it wasn't documented in their documentation and there was no ICMPv6 response indicating this. Moved to Linode after that.
I wonder if the same caveat applies to other providers that have improperly implemented IPv6 by not providing a /64.
I don't agree with their policy, but it is difficult these days to run your own outbound mail service and not end up in the spam box.
I gave up and pay for Gsuite as an SMTP smarthost so my outbound email isn't tagged as spam. That allows me to still process the inbound on my server if I want.
Obviously doesn't help the privacy concern if that is your motivation for running your own SMTP.
If, however, cost is a consideration, Yandex is an option. They will host SMTP for your domain at no charge. https://yandex.com/support/connect/add-domain.html (assuming Russian hosting is okay for you)
Been running my mail server on Linode for almost 2 years now. Fortunately I've yet to run in any issues. Having setup all the stuff properly from day 1 probably helps (TLS, SPF, DKIM, DMARC, MTA-STS).
Do you send a fair amount of email? Where I had trouble was running an ecom site. We set up all the things you mention correctly. We never sent any unsolicited email, but I assume people might occasionally flag a receipt or password reset as spam, and then it was game over for our email getting delivered. No issues since switching to gSuite.
I wonder if the same caveat applies to other providers that have improperly implemented IPv6 by not providing a /64.