A small preface: the XT wire HDD interface had limits of 1024 cylinders, 16 heads and 63 sectors. But the BIOS calls (int 13h with AH = 02, 03, 08) provided different limits: 1024 cylinders (CL[7:6]<<8|CH), 256 heads (DH) and 63 sectors (CL[5:0]). Later, again, the on-the-wire sizes invented with ATA were 65536 cylinders, 16 heads and 255 sectors. As result, reaching the maximum common size (1024x16x63, 504MiB/528MB) BIOSes had to invent a geometry translation level.
(The question is updated here, thanks to answerers. I missed that the XT interface was more limited, so added it later. But this does not change the body of wondering.)
Seeing it in retrospect, the strangest thing here is the head limit. This was the time of extremely outrush hardware development, with rates much higher than nowadays. But I canʼt imagine a disk device with 128 magnetic plates: this is impossible both from the current viewpoint and from the technical level of the 1970-80s. (The most radical HDD Iʼve observed was a 6ʺ 10GB disk produced in 1996 with 14 plates. Most others have up to 4 plates.) Instead, it was much easier to imagine more sectors per track; thousands wouldnʼt have been unreasonable.
So, the question: why (and by whom) were these limits selected during development of the IBM PC BIOS? What factors have led to this irrational decision?
(PS: There are more strangenesses here: fitting to 24 bits instead of 28; sector addresses starting with 1 instead of 0. But I can imagine rational reasons for them, unlike this head number range.)
NB: from the book "IBM PC XT technical reference", first edition (Jan 83), page A-84 (BIOS listings, int 13h): retyping by me:
REGISTERS USED FOR FIXED DISK OPERATIONS
(DH) - HEAD NUMBER (0-7 ALLOWED, NOT VALUE CHECKED)
(CH) - CYLINDER NUMBER (0-1023 ALLOWED, NOT VALUE CHECKED)(SEE CL)
(CL) - SECTOR NUMBER (1-17, NOT VALUE CHECKED)
NOTE: HIGH 2 BITS OF CYLINDER NUMBER ARE PLACED
IN THE HIGH 2 BITS OF THE CL REGISTER
(10 BITS TOTAL)
As geometry translation came into effect after 1990, I donʼt see any relation with it.
Seems getting a first step to the solution: as @StephenKitt suggested, in the head number byte, the upper 4 bits were reserved for the drive number in floppy and XT HDD variants, but became free in the AT variant. Then BIOS started "automatically" assuming the head number was expandable to 8 bits due to the available room. Tangled, but, at least just for me, looks pretty plausible. Thanks to @Justme as well for pointing out the XT interface details.
I am uncertain more details could be found out here.