Ben, shot in the dark on this, but is there any way to detect that a page with intents has lost out to a native app? Guessing no, and everything else you’re saying about this problem makes sense. I may just try something as silly as the page visibility api here to guess when a user has both clicked a tweet link AND leaves the page within a certain amount of time. 
Actually, now that I play around a bit more, the widgets.js may not even opening twitter intents as a “popup/new tab” on Android Chrome anymore, instead straight navigating to twitter.com in the existing tab, meaning that even on the same-browser flow, the original site/code is just gone (and the tweet complete state on twitter.com’s website doesn’t close, navigate back, or offer any way back).
iOS intent events (using widgets.js) work (they use window.open natively and close after tweeting, reporting the event), but IE9,10,11 don’t seem to fire the event at all with the current code (window.open, no event when the window closes). IE8 (unsupported) has that bug with the delete operator referenced in another ticket.