I started out with self-hosting mail-in-a-box [1]. If you really want to self-host, I can highly recommend it. Would be the cheapest option. At some point I decided to let go of it, because maintenance and configuration can still be a bit cumbersome. There was one thing (DMARC or DNSSEC?) which I never was able to set up properly for some unknown reason, even after long hours tinkering around with it...
So I started to look at other mail hosting offerings with custom domain. One thing I like is that gandi offers free mail hosting for a domain you order through them. [2] That's quite unique for a domain registrar.
Also, be aware that free 3rd-party mail hosting with a custom domain does not exist. I started out with the free plan at migadu, but they switched to a paid plan soon after. [3]
The same happened to postale.io after a while. [4] At least I could keep my free plan there.
Zoho is free [5], but their custom mail application and the countless other services they try to sell you completely put me off.
[2] https://www.gandi.net/en/domain/email
[3] https://www.migadu.com/pricing/#what-happened-to-the-free-pl...
[4] https://postale.io/faq#What%20happened%20to%20the%20free%20p...?