It was actually the duplicates that got uploaded, because the timestamps for date observed were the same as date uploaded, rather than when I actually took each photo.
Once the observation has fully uploaded, a second version of the photo suddenly appears in camera roll. However, I guess it must be ‘created’ the instant I select the original photo in the camera roll, because the timestamp for the photo present in the observation = when I selected it rather than when I took the original photo.
Duplication only happens once; I tried to upload one of my photos that got duplicated again, but it doesn’t create a triplicate.