It is not a conclusion, it is a fact of how grouping in a software system works. You asked how I came to this - it is based on a Computer Science degree and 25+ years of professional software development.
Grouping is more than just collecting like items together. One of the more prominent uses of Grouping is for computing Subtotals, Counts and other summary values.
The way this is done efficiently within software is to “collate” the items in a contiguous fashion - i.e. sort. Sorting works “fastest” when sorted in Ascending/Descending order.
The Grouping simply signals a “break” in the computations so the system “knows” when to stop the current summary calculations and begin the summary calcs for the next group. It does this by inspecting the value of the Grouped column as it processes each row and determining when the value changes.
The display issue and frustration you mention has always been there with Grouping. There is no good way around the sorting required. Unfortunately, if you want to display a Grouping order that is NOT Ascending/descending, you have to “build” into the data a way to “force” the sort the way you want.
I have seen systems that allow you to choose the order of these groupings but they simply add the custom sorting for you behind the scenes.