I was wondering why PageImages is not correctly setting the image for some pages, and after some debugging I realized that WikiSEO was simply clearing out the image set by PageImages!
I had $wgWikiSeoOverwritePageImage set to true in my LocalSettings.php, since we set an image explicitly with WikiSEO in many cases, but it seems that this is broken and just causes the 'page_image_free' property of a page to be set to the empty string.
Too tired to debug the reason right now. The regular 'image' property is being set correctly by WikiSEO, so I've no clue why it's putting an empty string into 'page_image_free' after that.