One thing Linux has going for it is a bunch of popular features for developers' desktops:
* Electron apps - VSCode, Atom, Slack, almost every universal desktop app that gets released today. Individual ports of apps to FreeBSD exist, but there is no way to automatically build Electron apps for any of the BSDs.
* Good desktop virtualization - KVM, VirtualBox (okay FreeBSD has these in theory), VMware
* First-class Docker and desktop container support (FreeBSD jails exist but there is no container ecosystem like there is on Linux)
You can still run Firefox, mail clients, vim/emacs, Unix utilities and LibreOffice on any of the BSDs just fine. They're lacking other niceties however. And that's a bad thing in my opinion - although it's mostly not the fault of any of these projects. Some people think BSD is better for lacking those options, but I can't live without them for one.
It's unfortunate: Linux and the BSDs used to have more or less the same application support. Anything Unix-y ran on anything Unix-y. There was nothing stopping you from having an OpenBSD desktop almost identical in function as, say, a Xubuntu desktop - one that looked much cleaner on the inside. But once broader commercial interest started happening for Linux, the BSDs were mostly left by the wayside in application support.
There is no point competing on desktop apps, even Linux has a very hard time there. BSD variants have always lagged behind in that area, you could have probably written the same comment 15 years ago by just moving Openoffice etc to the “Linux only” group.
The areas where OpenBSD can compete (in addition to the ones it already fights in, like routing and network-edge roles) are cloud deployments and orchestration. If it were as easy to run OpenBSD for development as it is a containerized Linux, people would pick the more secure choice. They could also make prebuilt appliances for the most sensitive components in a deployment (databases etc).
Post hoc ergo propter hoc. All the software you mention is relatively recent (with the exception of VMware arguably) and Linux was ahead of the BSDs in adoption long before these applications were created.
Now what exactly created this divide to begin with is a matter of debate but it took place mostly in the 90's and the very early 00's. By the mid 2000's it was clear that BSDs would have a really hard time ever catching up with Linux, especially for non-server applications.
Paradoxically it might be partially why BSDs are so clean and tidy: fewer features, fewer contributors and of course they're making a complete operating system instead of just a kernel or just a distribution.
FreeBSD remains my favourite OS for servers, it's rock solid and a joy to administrate. Unfortunately for the desktop I've given up almost a decade ago, driver support is just too lackluster, especially (as you mention) for proprietary software that can't be easily ported.
That didn't seem to work the same way for say.. mail server software?
Sendmail, postfix and qmail all had BSD-ish licenses, and those three covered quite a majority of all opensource mail serving at the time of BSD-vs-Linux "in the same early years"
Drivers for hardware that is better supported in Linux compared to FreeBSD - 90% of which is graphics - are usually licensed as MIT or BSD, not GPL, even though they are shipped as part of the Linux kernel.
Docker trends do favour to Linux, while the virtualization in FreeBSD IMO is still a hard wall for many people. Jails, ezjail, bhyve, chyve, etc. Requires amount of works to get it just right. While docker runs a container is straight forward. I don't mean which is better but definitely *BSD is less attractive than mainstream Linux.
* Electron apps - VSCode, Atom, Slack, almost every universal desktop app that gets released today. Individual ports of apps to FreeBSD exist, but there is no way to automatically build Electron apps for any of the BSDs.
* Good desktop virtualization - KVM, VirtualBox (okay FreeBSD has these in theory), VMware
* First-class Docker and desktop container support (FreeBSD jails exist but there is no container ecosystem like there is on Linux)
You can still run Firefox, mail clients, vim/emacs, Unix utilities and LibreOffice on any of the BSDs just fine. They're lacking other niceties however. And that's a bad thing in my opinion - although it's mostly not the fault of any of these projects. Some people think BSD is better for lacking those options, but I can't live without them for one.
It's unfortunate: Linux and the BSDs used to have more or less the same application support. Anything Unix-y ran on anything Unix-y. There was nothing stopping you from having an OpenBSD desktop almost identical in function as, say, a Xubuntu desktop - one that looked much cleaner on the inside. But once broader commercial interest started happening for Linux, the BSDs were mostly left by the wayside in application support.