This is just a guess, but I'd imagine that happens because the websites use JavaScript to load the actual content of the page, but Lemmy is just parsing the HTML that is returned.
Also, I really doubt you'd have much luck convincing website authors to completely change their architecture just to get previews to work on Lemmy.