So what does the term firmware-linux mean? Is it referring to firmware-linux-kernel or firmware-linux-DOS or firmware-linux-the-distribution or some actual firmware FLASH software that isn't linux-anything but a separate component?
git.kernel.org
This repository contains all these firmware images which have been
extracted from older drivers, as well various new firmware images which
we were never permitted to include in a GPL'd work, but which we have
been permitted to redistribute under separate cover.
wiki.gentoo.org
Linux firmware is a package distributed alongside the Linux kernel that contains firmware binary blobs necessary for partial or full functionality of certain hardware devices. These binary blobs are usually proprietary because some hardware manufacturers do not release source code necessary to build the firmware itself.
As for the Linux distributions using the same software components is true but that's because it's all about choice when it comes to using opensource software. If you don't like the choices or direction one GNU/Linux distribution makes or is going you can start your own and make different choices when it comes to defaults, philosophy, installer etc and a lot of distributions are similar but there are some that make themselves unique in some way by providing something another distribution does not provide.
If that way of doing things becomes liked enough by enough people other distributions will eventually pickup on that and add it to their distribution as well, NixOS is an example of a distribution that does things differently. There are Linux distributions that don't use the GNU tools, an example of that would be Alpine Linux.
Alpine Linux
www.alpinelinux.org
There are Linux distributions that focus on command-line installation and build your system how you want it as you install each component yourself, two name two well known ones: Arch Linux ang Gentoo Linux. As for why some distributions use ony Linux in their name and others GNU/Linux, it really doesn't matter.
I can't remember being able to choose from different GUI's with DOS or to be able to choose what bootloader I wanted to use?
That's why Linux has apps that will work on some Linux distributions and not on others because many distributions are not compatible, even though they have the same exact Linux-kernel.
If the applications is opensource you can always compile the source on any distribution it will work. The problem is with that different distributions use different glibc version and kernel version so if you compile a binary for a Deb based distribution that binary will not necessarily work on an Rpm based distribution since there are differences in the way configurations are setup between Deb and Rm.
Code:
apache rpm configuration location: /etc/httpd
apache deb configuration location: /etc/apache2
When it comes to being able to run graphical applications on the different distributions without having to build them for each different family some way of distributing software has been created in the recent years. Which are Snaps, AppImages and Flatpaks which are ways running graphical applications containerized and being able to use the same binaries to run on Debian, Ubuntu, Arch etc.
In short with opensource software you have choice and that shows in the Linux distributions, there are many similarities but there are differences between them in different areas whether that be philosophy, default software, installations methods, communities etc.
I perceive all Linux distributions the same exact way I perceive Win3.1 -- Win3.1 is basically MS-DOS (the kernel is actually called DOS.com) with an interchangeable GUI and drivers to interface to that GUI. I do not perceive Linux distributions like I perceive WinNT (and up, with a kernel called WinNt.dll) because WinNT is a monolithic OS, meaning there are no separate modular components like a desktop GUI, kernel, MS-DOS, and so on and so forth, like there is for Win3.1 or any Linux distribution. With MS-DOS you can change the GUI attached to it and it is still MS-DOS but no one calls it MS-DOS or Mx MS-DOS or Sparky MS-DOS, they call it Win3.1 or GEM or whatever, depending on what components it has installed.
The way you describe how you see Linux distributions all being the same is from a Windows mindset(closed source mindset), coming from a world where you don't really have much choice as in what you want to use and can use. How many different graphical interface does Windows 10/11 have available if you don't want to use the default one? Can I compile a custom kernel with different features enable and drivers enabled or disabled with Windows 10/11?
While with the different Linux distributions you have choice to use something or not use something and to switch to a different Linux distribution if you don't like something about the one you are using you can switch to a different one and see if you like it better and/or fits better with your software philosophy and even the choice to create your own Linux distribution. There are most likely things I have missed, that others may remember but hopefully you get the idea now.