No. It's not.
If nginx releases an update, do you also need to update your OS? No, because the user dependency graph isn't shared with the base OS.
If you update your OS, do you also need to update nginx? No, because there's backwards ABI compatibility.
The split is not artificial.
Drawing the line at the kernel syscall ABI is arbitrary; no other major operating system other than Linux does so.
Consider how difficult it is to ship 3rd-party applications for Linux and all its myriad of distributions; the only thing you can truly rely on is the anemic syscall ABI provided by the kernel (vs. userland).
So I don't really know what you're getting at. If you're not talking about kernel vs userland and you're talking instead about ABI compatibility then the ABI is even more stable and requires even less work to port any piece of software from one distribution to another.
Only for minor versions. How is that different from any other package that promises ABI compatibility?
Why are FreeBSD OS components split up at a low granularity, so you can't install the stuff you want without the stuff you don't?
Why are there two separate sets of tools to update them and other packages?
edit: Why separate non-base packages from base packages on the filesystem, but not from each other? If the advantage of separating /usr/local is the ability to copy the non-base configuration/apps without the base stuff, wouldn't it be more useful to be able to copy any given individual package or set of packages? Or if that is possible already (by asking the package manager for a list of files or whatnot), wouldn't that obviate the need to separate base from non-base?
FreeBSD does not work this way. You are projecting Linux onto it.
* https://hastexo.com/blogs/florian/2016/02/21/containers-just...