Кажется, я наконец понял, что происходит… Вот моё лучшее предположение, основанное на том, что я наблюдаю:
Проблема заключается в том, как TLP обращается к полю thumbnails в файле /latest.json. Количество элементов в thumbnails не всегда одинаково для каждой темы. Если выбранное исходное изображение темы меньше 1024 пикселей, то миниатюра такого размера не будет сгенерирована, и соответствующая запись отсутствует в массиве thumbnails. Поскольку в thumbnails не хватает одного элемента, счётчик плагина будет ошибаться на единицу и возвращать неверный размер миниатюры. Если исходное изображение темы уже 800 пикселей, то не будут сгенерированы миниатюры шириной 1024 и 800 пикселей, счётчик плагина будет ошибаться на две единицы и возвращать ещё меньший неверный размер миниатюры 
Похоже, что плагин просто перебирает массив thumbnails, выбирая заранее определённый элемент, тогда как ему следовало бы искать элемент с конкретным значением max_width, соответствующим настройке разрешения списка тем на сайте. Благодаря такому подходу темы могли бы иметь массивы thumbnails разной длины в файле latest.json и при этом возвращать правильный размер миниатюры.
Это объясняет, почему на нашем форуме некоторые плитки тем отображались с шириной 50 пикселей, некоторые — 100 пикселей, а большинство — с правильными 400 пикселями… Темы с меньшей шириной имели исходные изображения уже 1024 пикселей или уже 800 пикселей.
Надеюсь, это понятно!
Также, не могли бы вы добавить register_topic_thumbnail_size [300, 300], так как нам нужна ширина 284 пикселя для наших плиток, и загрузка миниатюр размером 300 пикселей для нас предпочтительнее, чем загрузка миниатюр размером 400 пикселей. В идеале мы предпочли бы генерировать именно нужный размер, но, вероятно, я перейду на компонент темы, когда вы официально его выпустите, и просто добавлю свой собственный размер.
Спасибо за вашу работу как над плагином, так и над компонентом! 