Monster winds up an attack.
Activate damage reduction ability before cast time finishes, ability goes on cooldown.
Monster finishes cast.
Monster begins actual attack animation.
Damage reduction effect kicks in due to animation time.
Monster finishes attack animation.
You take damage as if your damage reduction ability never took effect.

This applies to heals, too, which leads to ridiculous combat log texts.

You recovered 6000 health.
You took 3000 damage.
You are defeated.

It's just the way this game is programmed, unfortunately (and has nothing whatsoever to do with latency). They would have to completely redo the combat code to fix it.