How to add a disk raw partition to a LXD container?

i suggest you to create a real raw image file with qemu-img and use this. That will most probably solve your issue.

If ever possible you should just create a zfs vol/dataset and use this directly.

Going from blockdevice -> mount filesystem -> create raw file -> mount raw file as blockdevice
can be a way, but you loose flexibility and just add complexity without real gain ( imho ) if you leave your zfs ecosystem like this.