I've had a personal domain for a couple of years now and I'd like to start using it for email.
I've had iCloud+ so I linked it up to that, but I don't really use it that much. The #1 feature I use is the "catch-all" email address: any email sent to whatever@my.domain (replace "whatever" with any text) is routed into my inbox. This has the nice intention of easily creating filter rules based on what email I used for a website.
My gripe with using iCloud for my email is that I just am not a fan of the mail client. Because of this, I've been very reluctant to send emails with it and prefer using my personal Outlook.
I use my personal email with the Outlook client, but I link this to a Google account mostly for convenience. I feel like switching entirely over to Google Workspace would be nice, but (1): Lock in (2): I don't think Workspace supports the catch-all/many email addresses for 1 user (3): I don't like Gmail's client. Switching over to Microsoft 365 has problems 1 and 2, just not 3.
What is the best solution for running email, preferably FOSS?
Lock-in is not so much of a problem I'd say, you can export your entire inbox, that's possible with both Google and Outlook that I am aware of.
Just about any email service will offer IMAP, Google included. So you don't have to use the Gmail client if you don't like it, you can install any email agent of choice.
Don't try to self-host e-mail. It's not worth the headache.