The current behaviour is extremely annoying. In the first campaign, the mission with the canyons requires micromanagement right now due to this bug.
The proper behaviour should be (for each separate reinforcement order):
1. For each facility, set time for units already in it's queue.
2. Calculate pathing distance to the army. Count distance inside friendly regions as normal, distance through neutrals as double and through enemy x4.
3. Convert distance to time by dividing by the new unit's speed.
4. Add travel time to (1).
4. Pick lowest total.
Bonus: Instead of distance from current army position in step (2), use the position of the army in time (1), if the army has waypoints.
Bonus 2: If the facility already has a proper order in the queue (not for another reinforcement), pick it (changing delay from (1)) and add the same order at the end of the queue (jump the queue! ).