What’s happening is this:
 Zombies will arrive in 3h 5m.
 Clock advances 3h: Zombies will now arrive in 5m.
 Units are given the evacuation order. Let’s say they’re Orcs.
 Most Orcs have Average movespeed: 4h/League by road, or 12m/Step by road.
 Thus, in 12m, the Orcs will be one step (5%) along their route, and safe from the advancing army.
 The clock advances five minutes. The Orcs are still at 0%, so they’re caught up in the battle and killed.
Basically, five minutes is a very short evacuation window. Nothing in the game can escape that fast. Very few units can get moving even within ten minutes of getting an order (requires a 3h movespeed and no penalty).
That’s not to say that this sort of thing can’t be done–it surely can. You just have to make sure that the army’s time per step is less than the time until the zombies arrive, or else they’ll get caught.
Luckily, the math to figure out an army’s evacuation time (how long it will take for them to take their first step) is really easy:
 Determine the army’s Effective Move Speed (v), in Hours/League.
 If the army is Flying, on a Road, or has another way to ignore terrain penalties, this is just the number on the card.
 If terrain penalties will come into play, those must be accounted for:
 Mountain/Swamp: Face Value x2
 Plain/Forest/Desert: Face Value x1.5
 Don’t get fooled by the ETA shown by the game if you just move one League away! This is often the right value, but it can be tragically incorrect if your movement switches terrain types halfway through!
 If your first league includes multiple terrain penalty classes (e.g. Mountain and Plain), the multiplier that matters is the one for the terrain your unit currently occupies.
 Step Time in minutes (s) is equal to v x 3.
 Simplified from: s = (v x 60min/h) / (20 steps/league)
And because that “really easy” math looks really long when I write it all out, three examples:
Example 1
Orcish Swords moving along a road.
 Orcish Swords move at 4h/League.
 They are traveling along a road, so no penalty comes into play.

v = 4 hours

s = 12 minutes
Example 2
Orcish Swords moving off of a road, onto the Plain.
 Orcish Swords move at 4h/League.
 The first step is not along a road, so they take a movement penalty.
 They are in Plain, so their movement penalty is 1.5x.

v = 4 hours x 1.5 = 6 hours

s = 18 minutes
Example 3
Dwarven Hammers moving from a city in the mountain to an adjacent Plain, without a road.
 Dwarven Hammers have a base speed of 6h/League.
 Multiple movement penalties will be used in the first league.
 They currently occupy Mountain, so the movement penalty for the first step is 2x. It makes no difference to this calculation that they will move into more forgiving terrain later on.

v = 6 hours * 2 = 12 hours

s = 36 minutes