Ya lo resolví; el problema era complejo y en parte autoinfligido
El primer problema fue que recientemente había migrado a una implementación en subdirectorio y no había mapeado todas las rutas necesarias.
También había cambiado uploaded_avatar_id a nil para cada usuario, con la esperanza de que eso hiciera que Discourse volviera a descargar las imágenes de perfil. Obviamente, me equivoqué al respecto y terminé restaurando el campo desde una copia de seguridad
El otro problema era que los avatares no se mostraban a la izquierda de los temas en la vista móvil; resultó ser un error en el plugin de eventos.