I have not seen this exact issue before, but I have seen similar "fixed by adding an invisible thing" solutions. The best theory I can offer is that the runtime has limitations--or dare I say bugs--when it comes to tying a component property all the way up its dependency hierarchy to source data, if that hierarchy is complex.
It is especially easy to see bad behavior like this when you use Formulas to determine component properties (trying to build out color themes in a complex Formula object is basically guaranteed to fail in my experience), but it also happens when you chain a property through multiple data elements (e.g. Property W comes from Collection X which is built from rows in Gallery Y which is populated from Datasource Z) and certain control types seem to be more susceptible to these failures than others, namely the Modern controls.
Adding invisible elements seems to work by forcing the runtime to recompute the data before your control property is determined, for example, in that Property --> Collection --> Gallery --> Datasource example, if the property doesn't render correctly, or doesn't reflect updates in the datasource, I might try adding an invisible Gallery that just includes Collection X. The presence of this Gallery (I think) forces the runtime to recompute that data before trying to recompute the Property.