This is basically because the Arduino IDE resets it, then sits waiting for a new serial port to pop up, and then downloads to that new port. If it can find it!
I'd wholly recommend copying your compiled file hex file over to the Pi and using the "update" script to circumvent the total nightmare that is doing anything with serial ports on Windows.
If you go into settings in Arduino, you can turn verbose compile and upload output on to reveal the path where the .hex is saved. This may also tell us more about why it's failing to upload.