When you have a repeating command block with this command:
/execute as @e[type=arrow] run data merge entity @s {NoGravity:1}
and you shoot an arrow with a low velocity. Repeat a few times and watch as they start to fall and readjust themselves with where they actually are, you can also use a particle command inside an execute command targeting the arrow and you can see where the server thinks it is and where there is a desync with the client.
This effect can be better seen when the arrow was shot into a block and the block gets removed afterwards.
Comments
The effect can be better seen, when the arrow is shot into a block and the block gets removed afterwards.

Can confirm for 1.11. Was only able to reproduce when shooting very nearly straight down.
Can confirm for 1.11.2
Confirmed for 1.10.2
Perhaps related to MC-99442.