Disclaimer: While I am technically something of security researcher myself, I wouldn’t call myself an expert on the matter.
I tried nixPak but instantly ran into a problem because they don’t expose the options of package they are wrapping. So if you use nixos Modules and modify options like in my case programs.firefox.package it will error out.
After that I found jail.nix and stuck with it so far. As TLater already said the codebase is very nice, well documented and it doesn’t push to much abstraction layers, so it is easy to change to your needs. However jail.nix does not at the moment apply either user networking (passt/pasta or slips-net) nor seccomp filters, you have to do this yourself.
Without those basically any sufficiently malicious application can use syscalls to escape the sandbox. To my knowledge neither nix-bwrapper, nixpak or nixjail implement seccomp filters either. Nix-jail claims to do so, I imagine that is because they are using systemd-run. Systemd generally makes it easier to implement than bubblewrap, since bubblewrap itself deems seccomp out of scope.
If you are concerned about hardening your nixos system there is this nice article and while they warn about setuid binaries I would probably still recommend firejail over any of the nix solutions (there are nixos options for it and they play nicely with the base options) or even using good old flatpak with something like Flatseal.
Another important thing and something some of these projects are doing is restricting access to other programs by locking down the nix store. However the best way to do this in general would be by using MAC (Mandatory access control) like AppArmor or SELinux. There was someone doing apparmor on nixos, but they have stalled since writing their thesis. Following the structure how they’ve done it you should be able to implement some profiles yourself. It is important to do this, since some programs, especially the nix binaries are super dangerous to have access to.
While the nix team(s) try their best (lix for example employs pasta for fixed output derivations) the attack surface is too great and besides some nix related project, no program needs access to nix anyway.
Probably a bit late to ask but what exactly is your thread model?
If you just want to defend yourself against the run of the mill supply chain attacks looking for passwords or API keys (which is probably the biggest attack vector for a nix user), all of the tools you mentioned should prove sufficient. I would recommend only storing sensitive data in encrypted form anyway using a password manager.