this is a known bug/feature/ and its been this way since the beta. At this point, I doubt they're going to fix it because it appears that it might require a significant rewrite of the initiative system.
Tiudjy's formulation makes the most sense to explain what's going on here:
Think of initiative as filling up a power-meter that when it reaches a certain point awards the unit a movement. Let's say the threshold is 100, and your unit has 20 initiative. That means that every 5 "ticks" your unit will get a move. Let's say you wait until the 10th move of that unit to cast haste, which boosts its initiative to 25. Your unit has moved 10 times in 50 "ticks" but now that it's been hasted the new calculations say it should have moved once every 4 "ticks" and should have really gotten 12.5 moves. And it immediately awards your unit those moves.
Obviously, this effect will be greater:
- the longer you wait into the tactical battle
- the lower your unit's base initiative is
- the higher the boost your haste spell provides (through air shards, I believe)
And slow works the same.