Well, "flyable" have been pretty fucked since wotlk aka unable to use your old macro to work in Wintergrasp and Dalaran .. you either had to use modifiers or 2 different macros. The macro below fixes the problem, tho :-) I didn't made the macro, but I think it's really handy

("MOUNT", 1)
You can change number, so it fits your mount - else it'll just take the first mount availeble


Code:
/script local m=GetZoneText() if (m=="Dalaran" or m=="Wintergrasp") and (GetSubZoneText()~="Krasus' Landing") then CallCompanion("MOUNT", 1);end
/use [flyable,nomounted] <FLYING MOUNT>; [nomounted] <GROUND MOUNT>
/dismount [mounted]