@code-escapee the best solution that I could come up with for this is to ditch the conditionals on the elements as they do not work as effectively, and instead use some workflow actions, but this assumes the loading screen is shown on page load.
The loading screen element is a floating group that can cover the entire page, or if needed to show some portion of page can be designed to do so.
In workflow on page load show the floating group.
Have a conditional workflow trigger for when the repeating group is loading is no, which will run action to hide the floating group (set to run every time so that if the daisy chain approach is used in filtering, which will cause the repeating group is loading to go from no to yes off each user interaction with filter choices the hide/show functionality of repeating group and floating group for loader is consistent).
Then have a conditional workflow to hide the floating group when the repeating group is loading is yes (this is only necessary if the floating group loader is to be displayed each time the repeating group has to filter through daisy chaining causing the filtered search results to have a delay in rendering in the repeating group).
This works perfectly with no unnecessary flashes of elements (at least from my testing). The only time I saw a flash is when I caused the repeating group to change it’s datasource and it reloaded the data in 0.5-1 second.