I noticed the iPhone’s photos app lets you uncrop images even after they’ve been saved.
Does this mean it uses sidecar files to store the actual edits? Is it non-destructive on JPEGs?
That’s correct. So long as the original photo remains in the Camera Roll, Photos is able to undo edits. However, if you send it to another iPhone user, they will only have the edit itself, not the original, so they cannot revert back. Also, if the image is deleted from Photos, you cannot recover the original.
Note: Photo Stream does not support this. Any edits made to an image in Photo Stream will be saved to Camera Roll. Likewise, and edits made in Camera Roll that are uploaded to Photo Stream, Photo Stream will only have the revision and will not be able to revert.