It can be communication errors not detected. You could enable echo and log the session. Echo will write what it thinks you send while log also contains what you really have send. If it differs that is the problem. Firmware will not add moves on it's own. And I'm quite sure Octoprint also only sends what you give.
Normally the checksum prevents this but if you send
N8833 G1 X100 Y120 *67
and firmware gets
N8833 G1 X10
0 Y120 *67
It will execute G1 X100 as a separate move and triggers an error for next line which it will ignore for missing line number I guess. Just an example of how com errors might cause unexpected moves. But better first compare in log as described.