I searched the forum but did not find the topic until now.
Your answer and that topic were super useful.
This is the way how to do it:
mkfs.btrfs /dev/sdb1 -f
mount /dev/sdb1 /mnt/
btrfs su create /mnt/@
vim /etc/fstab
transactional-update initrd
btrfs subvolume snapshot -r /var ~/backup
btrfs send ~/backup | btrfs receive /mnt
btrfs subvolume snapshot /mnt/backup /mnt/@/var
btrfs subvolume delete /mnt/backup ~/backup
The important thing in this is to change the /etc/fstab and rebuild initrd before the snapshot. Because this will generate new snapshot/overlay with the changes and you want to have it on new disk.
If you do it the other way it will not boot with /sysroot/etc mount error.