So the codepen does work, silly enough. Surely there's a difference. I use a clickhandler in the codepen, but I use the intersection Observer to fire the pause event.
When I log .paused() It always returns true (using the intersection observer). But visually I can see the animation hasn't paused (scrolling up and back down)
I tried setting it with both tl.pause() and tl.paused(true)
See the Pen xyMqaK?editors=1111 by flowen (@flowen) on Cod