@J2Krauser
I did something very similar to what you suggested in my example maps, I just added some extra functionality to make it work with the Skill Menu/Skill Leveling stuff.
By default, when using Metamorphosis you can't change the abilities from one ability to another. At least not through the Object Editor.
If Demon Hunter has Mana Burn on his standard Hero, then his Demon Form (Metamorph) version will have Mana Burn as well, even if you were to remove the ability from the Demon Form it wouldn't change anything.
You also cannot add/remove Hero abilities to and from the Skill Menu with triggers.
So to combat this I tried to use Engineering Upgrade, adding it to the Demon Hunter when he morphs through triggers. The idea was that Engineering Upgrade would adjust all of his skills, changing let's say Mana Burn into Acid Bomb.
However, I don't know if it's just Reforged or maybe Engineering Upgrade has always functioned this way, but it didn't work properly. Only some parts of the ability were changing to their alternate Engineering Upgrade version such as the mana cost/button position but the actual functionality of the ability didn't change. Mana Burn remained Mana Burn, even if it looked like Acid Bomb in the Skill Menu.
So everything in the Skill Menu was working, it was just the "learned" version of the Skills that weren't.
To fix this, I relied on Engineering Upgrade for the Skill Menu stuff, and used what you suggested with adding/removing abilities for the "learned" (aka castable) versions of the abilities. To the user, it looks like nothing special is going on, but in reality, the Hero has 2 versions of each Skill, one for Research purposes and the other for actual Use.
The Hero (Learnable) version was used solely for the Skill Menu, it's Research button positions are visible on the Command Card but it's learned button positions are set to 0,-11 so it's hidden from view. It's based on a passive ability with no effect.
The Unit (Castable) version is for casting purposes. It's contains the actual effects of the ability.
With some triggers it was easy to manage the Unit "learned" abilities, adding/removing them whenever necessary and adjusting their levels accordingly, taking into consideration cooldowns as well.