I have the following macro on my Death Knight
/dismount [mounted]
/cast [flyable,nomod]Winged Steed of the Ebon Blade
/cast Acherus Deathcharger
It works fine and even handles the weird Dalaran state where it is “flyable” but you can’t actually mount
If I am in a “flyable” area, and I’m mounted on my flying mount, when I press the macro it immediately dismounts me and recasts the same flying mount
Then I have the following macro on my Shaman:
/dismount [mounted]
/cast [flyable,nomod]Tawny Wind Rider
/cast Great White Kodo
Note that besides the mount names the structure is identical to the previous (I actually copy-pasted it from the former). The behaviour however is very different:
If I am in a “flyable” area, and I’m mounted on my flying mount, when I press the macro it immediately dismounts me and casts the ground mount, then if I press the macro again, it immediately dismounts me and casts the flying mount.
Every time I press it, it alternates between ground and flying mount, this is not only inconsistent with the behaviour on the other character, but it also makes no logical sense, macro commands are supposed to be performed in order (and fail if another cast is in progress)