Another take on btrfs pool backup.
The thought is this: convert the pool to a mirror, add the destination to the pool, wait for everything to duplicate, remove the destination and convert back to a single device pool. The upside is that all of the subvolumes are copied without any special effort and that the state of them is synced entirely. The downside is that it doesn't work (I think it's the superblock), one of the devices ends up as broken. Further work is needed.