There are some caveats, but I would not mind using it on production servers. Sadly I haven't been able to convince my colleagues yet.
FreeBSD is, like all(?) other Unices written in C, as is most of the userland.
> userspace must match kernel
Just as far as it is true for Linux. If the interfaces don't change, the userspace tools will happily talk with any kernel. In now 19 years of FreeBSD usage on all my servers and on my laptop I ran into problems caused by a mismatch kernel<->userspace maybe 3 times. OTOH, the comparison is unfair with BSD-boxes reaching uptimes > 1 year easily.
With the latter, you're referring to base. FreeBSD isn't really any more monolithic than your average distro in that regard though; it's just that with some services, the userland, and the like it (historically) made sense to maintain with particular stable versions of the kernel. Base is being slimmed down where possible though: bind has been replaced with unbound, dma is likely going to replace sendmail in FreeBSD 11, IIRC, and now that pkgng is proven, the process of packaging the base system should be complete for FreeBSD 12, which will allow freebsd-update to be (mostly) replaced.