The GNU userland is portable, but it's mostly developed for Linux.
It was originally developed for the Hurd. Hurd is considerably older than Linux, started about 5 years earlier. It was the idea that RMS could build a complete system. For some odd but logical reasons (look at his background), he started with the editor, then got people to write the compiler and the shell. While all these are userspace tools, and easily replaceable (even back then, there were lots of freely available editors, compilers and shells), they didn't fit RMS's ideas. The Hurd kernel was started sometime in the late 80s, and had influence from BSD (must have been 4.4 at the time) and from Carnegie-Mellon's Mach. At the time, everyone was of the opinion that "only microkernels will ever amount to anything" (at the same time, everyone was of the opinion that only RISC machines are useful, which tells you something about opinions), so Hurd was designed around a microkernel. Honestly, I've lost track which microkernel du jour Hurd is using now (Mach? L4? their own?).
The rest of the "GNU userland" (mostly utilities such as ls and cat, which were not part of the development toolchain, and the binutils and gmake) were quickly hacked together. Honestly, most the brain power went into the "interesting" stuff (compilers, editors, kernel architecture), while the tedious and boring stuff was done ... how shall I say it politely ... without much attention. Then when the Linux kernel came into life, those were simply used for Linux because they were available.
Since then, development at the GNU project has been quite schizophrenic: Hurd is the real target and goal, but people mostly use Linux to develop and test (because Hurd just doesn't work well enough to do serious work with). Interestingly, I've been told that you can build a passable system by using the *BSD kernels with all of the GNU userland, and that the GNU developers have been deliberately keeping that option open since the days of 4.4.
The notion that "Linux is not an OS" because it is just a kernel is silly. Nobody knows exactly what an operating system really is. Every textbook has a definition, and the better textbooks have multiple definitions. Is VMware an OS (it has no userland, but it does resource abstracting, and in the ESX version, it has a kernel)? How about VxWorks (it is linked into the user's application, and early one had no distinction between user and system, plus you only ran one application)? How about cp/m (it has no distinction between user and system, and reboots the OS every time a program ends)? How about IBM VM (it's only userland are other operating systems, such as CMS or MVS)? And if GNU/Linux is an operating system, and GNU/Hurd a different operating system, and Alpine Linux (which has no GNU components!) also one, plus GNU/BSD is one too, are they all different operating systems? And let's not even get started on the question of iOS and Android, which are neither self-hosting, nor can you build applications on them, are they real operating systems? This is all splitting hairs.
If you want to ask the question: Is FreeBSD (as shipped in the default configuration) better or worse than RedHat Enterprise Linux (just to pick a random installable package), that is a fascinating and very complex question, to which the answer is neither "42" nor "elephant".