@ZachSaucier your code is working fine on mobile.
I implemented almost exact code on the website I am building. It was working perfectly on desktop, but on mobile the effect would be triggered too late. The bug occured first when I opened dev tools to test responsive (simulating iPhone 6/7/8). If I turned touch simulation off everything would work normally. On real device bug was present as well.
For some reason scroller markers were disappearing on mobile, and sometimes markers for triggers as well. It was a CSS issue from my side. I added overflow: hidden to parent element and everything worked fine again. TBH I don't know why it is working with this change, but it works.
Sorry for bothering you. Thank you very much. You really helped me.