@kaia > I'm instantly finished, but please let me continue for 15 minutes
That's an really interesting observation
No super expert, but afaik that's due to I/O buffering.
A process ships data from the file system to the kernel which in turn sends the data to the I/O controller that finally writes it to hardware.
Now, pv has no idea whatever happens after it has sent the data to the kernel, since there is no feedback other than "process has terminated successfully" after the I/O buffer has been emptied.
If pv has sent all data to the kernel, but the process has not finished yet, it looks like the data transfer is finished but all that has happened is that all the data has been put into the I/O buffer waiting for the controller to work it down.
When the connection to the I/O peripheral is dropped while the buffer is non-empty you will have a partial transfer with probably some file corruption for the data that had been written mid-connectiondrop.