Can you come up with a logic that works for condtionally suppression of the sections using
drilldowngrouplevel and
show all headers on drilldown as True.
How drilldowngrouplevel works...
upon report open it = 0
first drilldown =1
etc.
Note it has nothing to do with Group level, just if you drilled down. Meaning if you have group1 and group2 visible upon report opening and the user drills directly into a group2 level it makes drilldowngrouplevel=1.
To visually understand this and test it out create a formula field as "testDDGL":
drilldowngrouplevel
Place it on a Report header (assuming and made it available on drilldowns) and you can see it change on drilldowns.