Found one solution myself, but I'm open to better ones.
1) Save uncropped edit as IMG-xxxx.PSD.
2) Create IMG-xxxx-crop.PSD as a blank file with same dims as source image. Add IMG-xxxx.PSD as a linked image. Perform rotations and crops. Save.
At this point, the file space savings I want haven't been created yet. But with a really weird hack it seems possible to make it work.
3) Reopen both images. In IMG-xxxx.PSD, create an extra layer on top of the background. Color completely with any solid color. Save both images. Suddenly the file size of the cropped image drops to only a few MB. I figured this out via the trick posted here but I am completely stumped as to why that works. It's pretty dumb, if I "hide" the solid color layer and then resave both files, my total storage space requirements literally quadruple (the uncropped file doubles in size, and the cropped file goes from a few MB to the same size as the source... 2+2=4).
The only downside is that when I reopen in the future to play with, I have to copy them into a temp dir where I can hide the solid color layer, resave both files, and then see all the content in each file. It seriously makes no sense that simply toggling the visibility of a single solid color layer can so drastically change the storage requirements.
EDIT: As an example, download this zip file (~1MB). In it are two PSD files totalling ~2MB. Put them in a folder, open them both, and you'll see two white images. In the first file, change the visibility of the white layer to hidden, then resave both files (you'll now see my actual photo, and it will be clear that it's slightly rotated/cropped in the "-cropped" version). Notice that now they total ~7MB instead of 2MB. This is pure insanity. Why?
The especially interesting thing here is that after saving/closing the cropped (linked) version, you can then completely trash the white layer on top of the uncropped (source) version before archiving, which reduces size slightly and also makes it less likely there will ever be any backwards compatibility issues with the source image due to the multiple layers, and the data you care about being buried beneath a bogus layer. This just means whenever you open the linked image in the future, it will need immediate "updating" before it is usable.