BUG: Fix bug where sort_index if unsorted levels.
Closes #12261

Not sure if this is the best way to solve this, but it looks like the bug in #12261 is because the labels are sorted, but the levels aren't.

It seems like the better way is `is_lexsorted` should return `False` if the levels aren't sorted because you could get the potential mismatch, but that's a layer below this issue so I didn't want to touch it.
 this is not the right way to go about this.
 Ok... Does this help you see what this issue is enough (you didn't seem to have an idea from the issue*) to recommend what the appropriate path would be?
- Seems to be the level sorting issue unless it's a red herring.
 yeh I haven't really delved into it much. 
 Ok...
