Moving many btrfs subvolumes to another disk

As I was migrating my whole system over to btrfs the other day, I came across my docker volume which was already btrfs and using subvolumes. This was of course intentional, however, I had no idea how to properly move those subvolumes to the new disk. Surprisingly, it was somewhat easy. Btrfs has send-receive functionality which you can use to move data between disks (even do stuff like incremental backups, replication and so on.