It’s not quite clear from the description what your exact problem is, but I think it’s better to use absolute coordinates instead of movement vectors for this, so possible accumulated misalignments can be prevented. At least it’s worth a try with lv_indev_get_point() function if it serves your purpose better.
As soon as I touch the keyboard and prepare to move the keyboard, the keyboard disappears in the picture, and I can’t see the keyboard.Use the same function result as you provide (lv_indev_get_point(indev, &vect)).
The picture becomes the following appearance:
It should work, but you still need to calculate the middle of the keyboard from its size, and subtract it from the indev-coordinates before applying them to the keyboard (if you want to move with its middle, but a surrounding inactive button-less area would be better for clean grabbing).
With a printf() you can check if the coordinates from the indev are coming correctly at all. Also you can reprocess the received coordinate-values by LV_CLAMP function to always stay in the screen, even if the indev coordinates are negative or out of screen…