Implementei isso como a configuração excluded_categories: FEATURE: Add excluded categories setting - Pull Request #13 - VaperinaDEV/discourse-topic-preview-modal - GitHub
Inicialmente, considerei fazer o comportamento depender de onde o tópico está sendo visualizado, mas acho que verificar a categoria real do tópico é a abordagem mais consistente.
Isso significa que, se uma categoria for excluída, seus tópicos sempre abrirão como tópicos completos, em vez de no modal, independentemente de aparecerem dentro dessa categoria, em /latest ou em outra lista de tópicos.
Acho que isso também evita a situação potencialmente confusa em que o mesmo tópico poderia abrir em um modal em um lugar, mas como tópico completo em outro.