Don't use containerd with the btrfs snapshotter
blog.cubieserver.de
blog.cubieserver.de
It has a K3S to deploy apps, defined in a certain format (both in their official repository and in custom repositories), and uses that snapshotter to manage layers in the underlying ZFS storage.
Edit: I've used it for a while, although not heavily, and haven't had problems so far.
I've got a TrueNAS mini and it's a bit of a pain to run a VM with single node Kubernetes in it just to run my containers.
In general as a NAS: No every function is already migrated to Scale, there are some quirks here and there, but as a NAS is working OK
Regarding the "Apps": It's too heavy for (really) old systems, but it seems to work OK in newer systems. Although you could in practice, don't expect to "just run a Docker image", you better use their "App charts". The "App" definitions are based on Helm and there is both an "Official" repository and a "Community" repository (Truecharts) of them. You can also create your own repo and add it to your Scale deployment.
https://github.com/truecharts/apps
I have some simple apps (Transmission, Heimdall and some other stuff) running in a E3-1265L 32GB RAM and everything es working well.
But I have a really old HP Microserver N40L as an offsite backup for my NAS where I've installed TrueNAS Scale too, and although the NAS works OK, if I try to install any apps, the K3S installation plus all the tools overhead is too much for the machine, and keeps it at 100% CPU almost permanently. If you remove all the apps and detach the storage from the App system it uninstalls all that stuff and goes back to work well again.