This is a very ugly Chrome bug that causes the IFRAME that is the target for the image upload to immediately re-POST the previous request when it's added to the DOM.
I couldn't reliably reproduce it, until I found this very probably related Chrome bug report (it might also be related to these two WebKit bug reports, but I'm not certain about that).
Indeed, uploading an image -> going to a different room -> clicking "back" -> clicking "upload" immediately re-uploaded the old image.
Many thanks go to Tim Stone, who has spent quite some time debugging this issue and found a workaround: If name/id of the IFRAME are different each time, Chrome will not do the re-upload. So from now on, the IFRAME's name and id are unique every time (by including a timestamp as well as a random number).