Have you tried disabling the Page Visibility API? Web apps will sometimes use that to try and mess with background playing, IIRC.
Wasn't aware of this API tbh, will take a look thanks!