I have done exactly this just over a year ago for the purpose of sandboxing websites from each other. There are some drawbacks, though.
Humans trust you less. People will think you're giving them a fake address. I was asked by my bank if I had worked for them, since it had their name in it.
Say goodbye to telephone or email support. Some CRMs filter issues by their account's email address instead of by ticket numbers. I found this out the hard way with Amazon. I needed to email a photo of a gift card code that didn't work, and they never received the email. I wasted an hour of someone's time just because my personal email address didn't match my account. Ticket numbers did nothing.
Some email marketing systems take offence to using their name in the address. I signed up for LastPass, but even after unsubscribing... daily... I still got marketing mail. I couldn't get support due to #2. I hate LastPass so much I deleted my account and blocked their whole domain. (Oh, and their password reset page has different password requirements than their login sanitation)
The points you listed are very valid. I think they are solved by some email alias providers, at least ours (obviously 😅)
2 - 3. Fair point, I never thought about this before ... In this case maybe you could generate an alias without the website name in it. Can't speak for other alias service but when you create an alias via SimpleLogin extension, the alias is linked to the current website so you don't need to put the website name into the alias to remember it.
Almost forgot #4: Some websites blacklist their name in their own registration pages.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.