OK guys. I've spent a fair bit on tracing and think I get this. For clarity, here’s how the process works.
When a post containing an X link is created, the URL is stored and the post is made live. The first time the post is rendered (which is almost always immediately after posting), XenForo retrieves the embed data from
https://publish.twitter.com/oembed.
The returned HTML is then stored in our database and cached. That means under normal circumstances there is only one server-side call to X per post (unless embed caches are manually cleared, which I occasionally do during maintenance — for example I did this on Sunday when resolving the earlier issue). So in practice, the original poster is almost always the one who triggers that initial retrieval, and every subsequent viewer is served the cached embed HTML directly from our database.
When a user 'looks' at the post the HTML content is retrieved from the cache. Almost all X posts we embed have embedded media and needs rendering. This is done client side by the browser or a Progressive web app (PWA). Android phone PWA is Chrome (based on Blink) and iOS is generally Safari (all based on iOS webkit).
The PWA loads the page, XenForo provides the cached embed HTML, and X’s widgets.js script then executes in the browser. That script transforms the embed markup and loads any associated media from X’s CDN. I can't work out if the PWA caches the media or not, the important thing here is that the forum and our server is not involved.
So the heavy lifting is performed on the device (which becomes more acute on a mobile), not on the forum server. Any delay at that stage is dependent on the user’s device, browser engine, and connection — not the forum infrastructure. There are loads of posts on Reddit and elsewhere of brewers having X rendering problems, some with simple solutions to the localised issue, like a plugin needed to be removed.
... and just to be 100% clear. There is no dependancy on having the X app installed on the phone. The underlying engine, either webkit or Blink on a phone, deals with all the traffic and rendering without recourse to the app whether there or not.