It’s SDSC(SD) and SDHC that have different registers, and a lot of the initialisation is different,
such that an SDHC card won’t work in a host written prior to SDHC.
SDHC and SDXC I’ve found no difference in. You can format an SDXC card with FAT32, and it’s just the same.
The fastest SDHC cards are faster than the slowest SDXC cards, so it’s really only capacity that absolutely sets them apart,
but again, that’s arbitrary.