Reverse order of snapshots

I’m in the process of migrating a Solaris 11 fileserver to FreeBSD. zfs send wasn’t an option given the divergence in the ZFS implementations and I only copied the latest data because our backup-backup fileserver had died so I was in a hurry. I’m now looking to backfill at least the yearly snapshots. If I hadn’t already transferred the latest data, the sensible approach would have been to work forwards, first transferring the data in the oldest yearly snapshot and then using rsync to go forwards a year at a time creating snapshots as I go. I could now do likewise but go backwards. However, I’d then end up with the snapshots in the wrong order.

Is there any creative way to reverse the ordering? I was first thinking it might be possible with zfs promote but that only transfers dependencies with no ordering inversion. zfs send gives an error if you ask it to create a send stream from a newer to an older snapshot - doesn’t seem very Unixy for it to not simply do as it’s told. Are there any other features I might (ab)use? Scanning the documentation, I find one or two features that I don’t understand well enough to know if they might help such as zfs recv -o origin=.

Reversing changes might be something the zstream command could be adapted to do. Do you know enough about the form of ZFS streams or ZFS in general to say whether that might be impossible, trivial or something in-between? Unless it’s trivial, I’d probably be better-off doing more transfers and wasting the computer’s time rather than mine.