There may well be a problem in BTRFS, as it’s CoW and compression means raw IO can cause problems (hence why no swapfile before linux 5.0). But that’s not the only problem, as the loopback device is supposed to turn raw IO into proper file IO. Since qemu is running not as root, without write access to the drives, I’ve pretty well ruled it out as the culprit. This leaves the kvm module as the likely culprit, as it has the ability to fsck the drive and the problem seems to go away when kvm is not in use.
But as you say, it’s something of an edge case (or it would have been found and fixed already). Also, @Zigmeister might want to consider a simple chroot, it gets similar isolation to a full VM, but with less overhead.