I found a dubious but reliable workaround to completely hide the channels and restore the performance.
It turns out the Dope Sheet's name search functionality can be inverted. The invert button does NOT appear in the menu full of filter settings for the channels you want to see, but it does appear at the very top left of the dope sheet when using the search there.
Both the search and the invert button are fortunately exposed to Python.
Here is the solution, solving my original problem of wanting to hide the Strip Time channels from the Dope Sheet, so I use "Strip" as the simple term.
for s in bpy.data.screens:
for a in s.areas:
for space in a.spaces:
if hasattr(space, 'dopesheet'):
space.dopesheet.filter_text = 'Strip'
space.dopesheet.use_filter_invert = True
I refer to this as dubious because it removes the ability for the user (me) to use the search feature for any other purpose. Nevertheless, it works.