USB HID actually works pretty much how you describe, for instance a Physical Descriptor can contain metadata about which body part a button/control is supposed to be used with.
It's extremely complicated however (like many things USB), which is probably why everything just emulates an XBox 360 controller like you said.
It's related to XInput making that easier option on Windows, from my understanding.
Especially if you supported both XBox and Windows.
So the only complex HID game controllers are for very much enthusiast setups, which are rare enough to trip things like absurd assumptions in HID drivers in some systems (the joystick+throttle I have used to break linux HID driver because someone decided to statically allocate possible amounts of joystick buttons per device...)
It's extremely complicated however (like many things USB), which is probably why everything just emulates an XBox 360 controller like you said.