Capturing the manifestURL on locationchange is a possibility yeah, because that would allow us to differentiate between when the user loads the app and when they browse to the URL in a browser window (they may do both).

We can mitigate this on the search app side by not showing app:// URL results and always opening http:// results in a browser window, though that's not ideal.

If you want to get this patch landed then let's file a follow-up to deal with this issue.