Explored further offline, but I'll add an update here: the problem was with caching. Whenever the mobile device view was fed into the caching engine, it was then used as the primary view for other devices, with no differentiation.
Not sure if there's anything I can do about this, but we'll see.