Why not also recognize systemd, or musl, or kde or gnome or any of the other millions of non GNU packages that are needed to make up a complete OS.
Unironically there might be some value in recognizing “systemd/Linux” as a subfamily of Linux operating systems.
And these days GNU makes up less and less of the core packages that most distros run anymore.
Linux makes up exactly one package on a so-called Linux system.
I don’t know if grouping disparate projects under the “community” label has any worthwhile benefit. Given the label is meant to classify related operating systems, the label should provide an accurate description of the basis of the system. A simpler solution would be to just say GNU/Linux is a subcategory of Linux (and maybe even sub-sub-categorize by package manager or init system or whatever makes the most sense). Similarly, I think Android and its derivatives are worthy of being its own classification of Linux operating system (as long as you don’t try to claim “it’s not real Linux” or whatever).
With regards to software compatibility, I think it’s rather the other way around - software written for “Linux” usually works on any POSIX operating system, and sometimes even Windows. Unless you’re talking about binary compatibility, which is meaningless in the Linux space anyway.