It doesn't seem like most people understand the meaning of moral ambiguity. Because yes, Gul'dan shown things like doubt and fear but had never to do with the weight of his moral choices, all his fears and doubts were constantly tied to his single-minded drive to become a godlike being and all the scheming and decisions meant to better support that one and only path. He may have doubted himself and what he could do alone or not but he never doubted his ways and perceived righteousness of his actions.
Gul'dan, be it MU or AU, kept committing atrocious crimes, betraying and deceiving and backstabbing people and never felt the barest hint of remorse and self-doubt about that. If something like that is lacking than talking of moral ambiguity is pointless.
Illidan is a mortal with mortal attachments. He shared a love/hate bond with his brother Malfurion and utterly loved Tyrande. This humanizing factor is exactly what made some of his choices so controversial and difficult, often paying the price and consequences for that (like being imprisoned for 10.000 years or being banished by his own homeland).
Sargeras on the other hand...he's a freaking Titan who was supposed to be naturally "benevolent" but on the end of the day he possessed no real attachment to any of the things mortals usually care about. The thing coming the closest to a "struggle" is when he roflstomped the Pantheon, aka the only people he had a true attachment with, yet apart from one "howl of sorrow" when he cut Aggramar in half, he literally looked like crazy murderer gone mad (imagine Arthas fucking slaughtering Uther and Jaina for standing in his way of purging Stratholme, that wouldn't have been "morally ambiguous" but just outright deranged). And after that, for Sargeras, cleansing the universe effectively meant the same as cleaning our bedrooms during spring.
Which is why the Freudian Excuse worked decently with Gul'dan. It made you understand the way he was without triggering misplaced feelings of pity.
1. Garrosh never burned ships full of kids;
2. Technically speaking, the Horde didn't spawn anything. Garrosh was, by all means, an outsider. You know, one of the main reasons for why he was kind of disconnected with our Horde and followed the path he did.