I am not sure if this is a bug or not.
I would say that when action.pressed is true, action.dx and action.dy should be 0. Indeed they are 0 on my Mac. But they are not 0 on my Android devide (Huawei P10 lite). Indeed it seems to me that dx and dy are computed using the last coordinates of the previous touch. At least the behavior on different platforms should be consistent.
Ciao!