Thanks. That's why I thought I'd ask. It's really an edge case for us as this only happens if a user can change/drop the frame rate down. (Happens for me when I move from one monitor to an externally
'usb-c' ran monitor. The game drops it's frames in half.)
One of my ideas was to try to look for the frame rate change event and then scale the the global timeline in order to compensate the difference. But this could still make it 'out of sync' a little.
For anyone looking into this, this was my current solution:
setInterval(()=> {
TweenMax.globalTimeScale(game.loop.actualFps/60) // 60 is expected, but it may change within Phaser's system.
}, 1000) // I call this every 1 second, since the game fps shouldn't change all that often.