X keeps the first preview it builds for an exact link, for days. If X looked at your link before the preview was ready, that link stays a grey box, even after you fix the page.
Get every check above green first. Only then paste the link into X.
Paste, then wait about 10 seconds. X fetches the picture a moment after the text.
Still a grey box? Type a few more characters in the post. X's post box sometimes redraws only then.
Still grey? Use a fresh link: the same address with ?v= and something new on the end. To X, that's a link it has never seen.
The checks read your page the way X's crawler does. Only X decides what it finally shows.