Most ISP's block outbound port 25 now, but many still allow 25 inbound which works fine for receiving email as per your requirements assuming you can DNAT port 25.
If your home IP is not static then you can use dynamic DNS to update the IP for your home. Use a Dynamic DNS client to update "somename" whatever name you choose for your home IP. This assumes your DNS provider supports dynamic DNS or has an API that works with a dynamic DNS client. You will not likely be able to update the PTR record unless you are on a tiny and very cool ISP but this is fine as FRrDNS is not required for receiving emails.
somename 1h in a your.home.ip.address
@ 1d in mx somename.yourdomain.tld.Most of the defaults can be left alone, and you'd just need to edit one config file (main.cf) and the comments provided in main.cf all but guide you through the process. What you'd need to edit relates to the aspects that are unique to your server (domain name, domains it should receive email for, etc.).
The reason I suggested Postfix is due to the nature of it being on many internet facing servers and being battle-hardened over the decades and having started off very secure. Anything else should probably be confined behind bubblewrap and AppArmor or SELinux.
Regardless of what tool you end up using consider adding firewall rules to explicitly block outbound SMTP in the event someone finds a way to relay through whatever tool you end up using as a bumper-guard against configuration mistakes and bugs.
They've done a horrible job of communicating these changes so perhaps I'm mistaken.
Cheapest option is to have a self-hosting friend like me and I just create a login for you on my email server and you point the MX records there