dispatcher flush listeners get triggered when a replication/publish request get initiated. In your case no activation, hence no dispatcher flush. You need to publish the page after XF change to get cache updated or write your own listeners.
AEM does not provide out of the box solutions to flush (re-activate) pages that have a reference to the experience fragment. You need to create your own solution.
One technique can be, on a non-heavy load website, After re-publishing an experience fragment, you can contact your cloud engineering team to flush the entire cache of your website. But keep in mind, the CPU consumption of your publishers will be affected negatively, especially if you have heavy user activity at the given time.
Another technique, as a quick solution for clearing experience fragment cache, is to have the authors use the touch UI, "manage publication", to republish all pages. However, this action will also publish site pages that are currently being edited.
We ran into a similar issue, where the fragment is used in multiple pages, obviously it's a big pain having to re-publishing all of the pages whenever the fragment is changed. Is there a config that would invalidate all of the pages whenever the fragment's updated?