Hi, I actually had to do something like this, and it does work. I ended up using the onBeforeActiveMeshesEvaluationObservable observable to trigger my logic.
Background on my culling reasoning (very different to yours) is here: Custom method to evaluate active meshes