Снова в строю. Похоже, вы правы.
Я попробовал установить DISCOURSE_S3_CDN_URL как подпуть к бакету https://hot-objects.liiib.re/forum-beta-liiib-re, и теперь всё работает.
Как вы считаете, разумно ли разрешить использование S3 CDN в качестве поддомена конечной точки S3?
В моём случае, который может быть схож с другими настройками для самостоятельного размещения, я не использую внешний CDN (nginx поверх minio можно считать CDN), поэтому мне не нужно настраивать его на другом домене.
На самом деле я создал бакет на поддомене, потому что, как я понимаю, это требуется для управления загрузками в Discourse.
В любом случае, проблема решена, и у меня всё работает. Спасибо за помощь!