Please clarify, whether you are using Visible-WHEN rule (OR) Visible WHEN -- expression.
The WHEN rule is executed server side and hence if the property value changes, a "refresh" of the section is required so that when rule is evaluated again.
Visble-WHEN expression with run on client option checked, will run at the browser end, and will take effect immediately if the property value changes.
How are you setting the value of the property that dictates the visible WHEN ? may be you should ensure it is set correctly before the page loads so that it takes effect. you can do it through a pre Data transform / pre Activity