Windows 9x can employ two kinds of disk drivers: native protected-mode drivers and compatibility-mode DOS drivers, and the former are used in preference to the latter whenever possible. When Windows is started and native disk drivers are loaded, existing DOS drivers for each drive letter are disabled and the protected-mode drivers take over. If there are any drives left that Windows doesn’t have native drivers for, Windows falls back to using DOS drivers for those, resulting in a Control Panel message: "Drive X is using MS-DOS compatibility mode file system".
DOS disk drivers usually delegate hard disk accesses to interrupt 0x13 services, which identify each available disk by an 8-bit number. Protected-mode drivers, on the other hand, access the disk by directly communicating with the disk controller, which does not use BIOS disk numbers. In order to identify which protected-mode drivers correspond to which drive letters, some kind of mapping between DOS/BIOS disk numbers and the bus positions where the disks are attached has to be established.
The EDD 3.0 specification defines a structure through which a BIOS may communicate this mapping to the operating system (AH=0x48), but that probably wasn’t universally available back when Windows 95 was developed.
How then does Windows 9x identify which letter corresponds to which disk?