Twitter now serves tweets from two domains: x.com and twitter.com. Ghost only automatically creates an embed from a link with the twitter.com domain. (Beta editor - not tested in the other one).
To see this in action: go to any tweet and click on the share icon and copy the link to clipboard (desktop version of Twitter). You have an x.com link.
Paste this in the editor and the embed fails, and a plain link is produced with error 422 in the console.
Open the same tweet in its own window, copy the url from the browser bar, and you will have the twitter.com link for that tweet.
Paste that in the editor and the embed is fetched as normal.
Note: the third party comment system I use on my site handles the x.com domain issue with no problem.
This is irritating rather than totally breaking the workflow, and there is a workaround, but it is one I had to figure out for myself.