Hello. I also find the issue but I don't think we need to change the values of the descriptor so I just ignore it. The descriptor is then passed to the function CyU3PUsbSetDesc, maybe the ordering is changed in the function.
Thank you for your reply
Have a nice day
the descriptors have to defined in little-endian byte-order. Therefore the least significant byte comes first and the most significant byte comes last.