There are USB headers, PCI(-E) slots, SATA and some older ones. To get storage devices working on each one you will need a different driver.
Windows disabled autorun for USB sticks before win10.
Also if you list the devices on Linux they will show up as sd(a, b, c…) for SSDs, hd(a, b, c…) for HDDs and nvmen(0,1,2…) for NVMe drives. So yes the OS must be able to differentiate.
Windows assigning letters is just weird IMO.
Also to my knowledge the floppy would show up as disk A on Windows.