Just an update for anyone who might ever run into the same issue.
Turns out, visibility is not an accepted property for transition on mobile devices to date. It works fine in desktop browsers, but not on mobile ones. My code above had nothing to do with the problem.
Does anyone have a list of browser support for transition properties? Every list I have found is over 2 years old.