Iāve sorted this out with WP Engine. It was Varnish:
āBasically Varnish, our caching layer, was losing the hash to look up the cached page by. This was due to too many headers being passed to varnish. When too many headers were being passed it was causing our platform to return a random page. Which is why the page would pull bad meta information. We just upped the value in varnish to allow for more headers to be sent.ā
@ginatrapaniās ticket for the same error was closed last Tuesday (Nov. 29th). The fix was then pushed to WPEās network on Friday Dec. 2nd, which is when I reported the issue. But the fix was deployed after I had done all my testing, so I didnāt see the new results.
Iāve tested some tweets - see our testing account at https://twitter.com/StudioTeamWP. New tweets are returning correct metadata, but old tweets are still likely to show incorrect metadata.
Thanks both for your help in resolving this 