IIRC this was essential for some browsers (IE < 10?) because it’s impossible to access <noscript> tags via JavaScript after doing the feature detection. I think @dan worked on this problem a few years back?
Note that there are two fallback ‘modes’ at the moment:
- 
Serve the crawler view. No JS required. This is gated on browser_update_user_agents.
- 
Serve the full app, feature detect, and fallback by moving <noscript>content into<body>. This is not based on user agent.
The problem here is that (2) is not working on mobile, because the server isn’t rendering any <noscript> content. We need to fix that, without breaking (1) for mega-old browsers.