My stack at the moment is 6x [10 TB WD Red Pros -> dm-integrity] -> mdadm raid6 -> dm-crypt -> LVM. One of my LVM volumes is btrfs. I only use LVM because I've had terrible performance for VM images stored in btrfs volumes. You can always use fallocate and disable CoW for the image but that prevents taking snapshots.
I'd if there was a zvol equivalent in btrfs.