It seems to be separate issue. Like WackyToaster said deceleration (and after testing also acceleration) is done separately per axis, which gives inconsistent results when moving diagonally.
This issue also exists when not setting the vector directly