The biggest problem is probably the lack of currency for the immortals. The zombie-players have no need to worry about money so they only need to focus on spreading fast and getting their hands on unprotected settlements and mana wells even faster. That is already OP enough without having to worry about player-controlled immortal Gryphons wreaking havoc amongst the map. And adding zombie-money for hero cards would only make them more OP so that’s no solution.
So I was thinking, maybe give the zombie faction a different currency called ‘control’ (or whatever) that is required to make them move. You, as the necromancer, need to carefully weigh your options as you spend your control to make zombies move, costs per league to avoid people just setting a week-long trajectory. And then it’s just a matter of determining whether the horde size factors in on the costs. I’d recommend against it.
If the horde size doesn’t matter and each horde requires the same amount of control to move, the immortals won’t be splitting up in tiny groups spreading in all directions to create one hell of an chaotic mess and will instead form hordes that the player can actually react to. This way, the players won’t have to spread out their forces to protect every single settlement nor will their garrisons have to remain in these settlements until they can eventually spare troops to send out. (Which would result in very stale and slow games.)
Preventing anti-hording should help against the OP factor of the immortals that even a single one of them can slaughter an entire village instantly and raise hundreds of zombies in its wake. Sure, even the weakest mortal can give a whole den of mystical creatures their eternal rest instantly as well, but player-controlled immortals should be able to strategise against this.