This is a very interesting discussion!!
I think personally it makes most sense to only be able to configure the group sorting and the item sorting: “Item (group)” and “Item”. (Shown as two DBs, like we have now when you have different DBs) Then everything that is not the bottom level has one sort, and the bottom level can have a different sort.
This could also relevant for filters and fields I think. If I want non-bottom levels (groups) to have less fields than the their children, right now this is not possible when you have recursive elements.
This is somewhat related to this: Grouped table top level default entity creation and usability issue. Grouping UI and logic in Fibery in general isn’t perfect, and I think this is a symptom of that in some way.
Also since all your examples are only 2 levels, I think for recursiveness, if it needs to be defined per level that will be not feasible. Since someone can then add another level by editing data, and now that level has no sort (or fields of filters if we add this behaviour) in the views you configured.