You're right but sadly for whatever reason they are not doing that - using a simple vector would be good enough.

If the update period is 0.3 seconds and the cast time is over a second the server should have at least two updates showing the player moving.

Draw a line between these two points and extend it out by the time until the cast ends, viola! Now you know where the player is at the end of cast with enough accuracy to solve this problem.

Probably would put too much load on their server software I'm guessing.