The ghost attacks first because the griffin doesn't fly across the entire map. I recreated the scenario: first, the griffin flies, then the ghost attacks it...
The AI's actions are only irrational on the first two difficulty levels (pawn, knight). On subsequent levels, the AI already begins to understand what "waiting" means...;)