When riding a horse or a boat, and also sometimes with a pig, it is impossible to change the motion of them using /data modify. Most of the time, nothing will happen. 1/10 of the time, the entity may move slightly in the direction of the motion, or just horizontally, but it is much less intensive than the motion set.
A VIDEO OF THE BUG IS AVAILABLE TO THIS LINK (YouTube)
Steps to reproduce this bug:
Create a new world with cheats enabled.
Spawn a boat, stand next to it and run the following command (NB: using a horse or a boat doesn't matter, the issue behaves exactly the same way. Here the command use the boat):
/execute as @e[type=boat,distance=..5] at @s run data modify entity @s Motion set value [5.0,3.0,2.0]
You can see that the motion works properly, no matter the Motion values.
Enter the boat (or ride the horse), and run again the command a couple of times.
Intended result: The motion is applied the same way. (as demonstrated at step 1)
What happens after doing these steps: Most of the time, nothing will happen but the chat will say that the motion of the entity has been successfully changed. There is a small chance (~1/10) that the entity moves, but it's only a small linear movement, either in the motion direction or just horizontally.
If needed, I will add a video with steps reproduced and the bug happening in 1.15-pre4 tomorrow in the night.I have also found that the bug can happen using /execute store result.