I kind of get where you are coming from with the FreeNAS arena - I have a 60TB unit and I love it – but it definitely has its quirks, and its far from a set it up, and walk away type of scenario.
In terms of SMB, my only comparison was setting up a share to use with my Macs Time Machine. Test systems were FreeBSD jail on FreeNAS running AFP server, FreeBSD jail on FreeNAS with SMB share, Xcp-NG Arch Linux VM running AFP, XCP-NG Arch Linux VM running SMB. I’ve unfortunately had some problems with the Time Machine backups needing to be recreated. The worst performer was FreeNAS share with SMB, followed by FreeNAS share with AFP. The Linux systems – no Time Machine rebuild in either system for the last 4 months.
In terms of boot/root ZFS, I’ve configured two ZFS on root systems with Arch Linux running in a VM on FreeNAS. I’m not sure if its hacky stuff or not, however there was definitely a little bit of an art to setting up the ZFS stuff – way more involved as compared to a standard Ubuntu quick install from disk. ZFS is great when working with VMs – you can make a template VM (for example perform an Arch install (ZFS on root, dataset setup) and install all the base packages – networking, mirrors, zshell, WM or desktop, etc) and then its possible just clone zfs send/receive the datasets to new datasets to create a new VM. It really makes creating new VM’s from scratch extremely simple. I’d love if FreeNAS went with linux since it would be possible to use KVM as the hypervisor rather than bhyve – which has its limitations.