This has been a criticism of Overwatch since day one. If the core problem was the actual core formula it wouldn't have grown so large to begin with. Millions of people wouldn't have billions of hours into the game in the first place if the core formula wasn't fun. I think you have a valid point, but I don't think it's why Overwatch hemorrhages players. None of the issues your brought up are any different than they were for the past 5 years (except role queue).
Also, you can't point to queue times, then mention League has a better system. It wasn't rare at one point (I don't play League anymore) to have 30 minute queues even in diamond. DPS queues in OW currently are 10 minutes max even in GrandMaster.
Then they started restricting your team choices. You could no longer have two of the same hero.
You then had to be forced into meta-roles ONLY.
You then had to queue specific roles and were not allowed to pick anything else at all.
All lack of balance and content aside, what the hell?
The worst part is/was (unsure if this has changed) that you are hard locked into specific hero categories even if you are queued as a full premade. Even when you are with a full team that is OK with swapping, you can't swap roles as needed. Incidentally, I played dps junkrat back when it was categorised as a defence hero. And the categories were decided and changed by Blizzard - Junkrat might have been the only defense hero I'd be willing to play, and now the only offense hero since they recategorised him - I would rather heal than play mccree, but there you have it
The other issue is that if you play casually and get a terrible healer, then you will almost certainly lose. Being a fantastic player only gets you so far.
Other people mentioned Valorant, and it appears it has a very different style with exchangeable weapons that apply to all classes, but just different abilities and more strategic games. It seems like a really good player can make a bigger difference and play solo. I'm going to look into that now.
Maintenance requires switchups to these dynamics, but when you have created a system that's devoid of these events, your game is going to be stale no matter what you do. New maps, new characters, etc.
Power spikes can be fun because it can be fun to have a feeling of power, or see the balance change in your favor in a game. They can be frustrating because you can be faced with a power spiked player and feel helpless. It is a design choice with pros and cons.
Forcing two tanks, two healers, two DPS characters leads to eight minute DPS queues. But if you don't force this kind of team composition, the game becomes incredibly unfun for the team that has five DPS characters and no tank.
You'd figure that this would drive DPS players to switch to the other roles, to reduce the time they spend in queue - but no, the queues today are as long as they ever were. It's probably because a lot of people don't find the support roles fun to play.
Contrast it to something like League of Legends, where queues for each role are much closer in length - probably because a large portion of the player-base finds supporting roles fun in that game.