FreeBSD is a non-starter for anything beyond hobbyist or large fleets of generic boxes due to its shortcomings in package management. It hasn't meaningfully changed in 30+ years.
You've got pkg and you've got ports - and neither provides an adequate means of keeping systems up to date en masse, by itself or in aggregate.
pkg (and related tools/repo) is severely limited - it doesn't really do security updates. It's not meaningful beyond the quarterly updates; it's a base working set.
The ports tree is another problem entirely. It's workable for one system as a hobbyist where uptime and consistency isn't important, but instantly requires secondary independent management to keep things up to date. It's just one big rolling release with no apparent controls for quality.
Perhaps it's just me, but the only way I found to maintain 2+ FreeBSD systems consistent is to keep an independent ports tree on ZFS (for snapshots you keep indefinitely) and a dedicated build box (instance). The resulting packages then get distributed to all the machines. The alternative is to have updates fail fairly regularly due to ports not being thoroughly vetted - unbuildable versions of the packages or security issues that weren't properly addressed from upstream. Then, you've also got to hunt down the upstream releases on occasion when the ports maintainers... haven't. You end up needing to run a full package vetting environment for your production systems and the QA burden is much higher than running your own eg. apt or yum mirrors + testing environments. I did this for years and it was horrible busywork.
In short, there's nothing on freebsd that's comparable to apt/yum/slpkg and package management is stuck in the 1990s. It's the only ecosystem I'm aware of which hasn't modernized to use cohesive and coherent package management.
Unless you're doing an extremely minimalist system, or building appliances, I see too many significant downsides to using FreeBSD. Better to use DragonFly, or Gentoo.