Thank you for putting into words the issues I have with M+ and why I don't really want to neither heal nor tank in them personally.Absolutely not true. Like at all.
There is no heal/tank scarcity in raids (generally). Tanks are an afterthought in PvP and healing in PvP is also not that much of a problem. It's only m+ (or dungeons in general) where it's a problem, but one Blizzard made.
The whole concept of m+ favours DDs.
Tanks have to plan the routes ahead, since they are the ones pulling. Often they can't really tank, but have to kite. There are even some affixes that make this necessary (e.g. necrotic). All that while doing as much DPS as possible. Taking defensive talents or legendaries is often not the best choice for them.
Healers have a shit job: They are only needed if the group makes mistakes and otherwise they act as low throughput damage dealers, that occasionally have to burst heal the group. And since they don't have an interrupt (except shamans), they can't even reliably prevent damage but have to rely on the DPS and Tanks to not suck, since one missed kick can cause a wipe on higher keys and there is nothing a heal can do about it.
So we have two roles, that are basically more difficult DDs with more responsibility.
Only DDs can play their intended role: Just make as much damage as possible (and interrupt important abilities).
The timer of m+ coupled with the clear % requirement makes this a DPS race. One good DPS can carry your key. A healer can't do that. A tank could, but only if he does high dps, not by just tanking more mobs than usual (since the DPS would die either way because of missed interrupts).
How I would fix that problem:
Make invisibility potions unusable in m+. Give more mobs stealth detection. Reduce the timer of dungeons. Then, instead of requiring a certain number of mobs for 100%, let each killed mob extend the dungeon timer by a few seconds, that way you're not as punished by not following the optimal route. Essentially you could either kill as little trash as possible and try to burst the bosses in a short amount of time or you could kill more trash and then have more time for the bosses. Assuming you kill the trash fast enough, but in my concept the time extension would be very generous.
That way you have an option to "save" a few boss wipes by just extending your time and tanks don't have to meticously plan the routes ahead.
In regards to healers: Give them something to heal other than the group. We have some raid boss encounters where healers must heal mobs, which in turn buff the group. Maybe implement this mechanic in m+.