Looking at the source code, MPC-HC renders the string after parsing the stream, and not by using any kind of numeric IDs. So, those are not necessarily in the same order as you see displayed.
For example, the AAC channel configuration uses hardcoded strings:
const char* Aac_ChannelConfiguration[]= { "", "Front: C", "Front: L R", "Front: L C R", "Front: L C R, Side: C", "Front: L C R, Side: L R", "Front: L C R, Side: L R, LFE", "Front: L C R, Side: L R, Back: L R, LFE",
So, what you're seeing is just the result of a design choice to display the streams in a more "logical" order as you'd hear them.
Bottom line: MPC-HC will only show you what streams are there, not in any particular order.