I know it. You're using Protonmail in the post.
But overall you're a Fastmail user. So why recommending Protonmail and using Fastmail?
Personally, I chose Fastmail over Protonmail for features and pricing. I didn't need the PM->PM encryption that Protonmail offers, at least not for my primary email. Fastmail was more feature-rich everywhere else.
1. Register domain name (Namecheap, Route53, Google Domains, etc.)
2. Sign up for Fastmail, choose at least "Standard" plan to support custom domain. Sign up with <yourdesiredname>@<yourdomain>. This will more or less serve as your "main" email. I use <firstname>@<domain>
3. In Fastmail settings, add your domain. Fastmail will guide you through the MX and TXT records that need to be added and how to do it.
4. (This may be done by default in Fastmail): Set up an "Alias" to configure *@<domain> to deliver to your email.
5. Start changing your accounts to whateveryouwant@<domain>
The "to" field of any received email will always show what is being sent to, even in third party clients. You can then also configure rules and filters based on the "to" field.
In the Fastmail clients (web and mobile), you can also reply from the same address that an email was sent to. In IMAP clients, it'll reply from your actual registered address (such as <firstname>@<domain>)