Ahh, ya veo. Discourse, por defecto, establece cualquier archivo adjunto que no sea una imagen con Content-Disposition como “attachment”, lo que lo tratará solo como una descarga.
Es posible que puedas hacer algo similar a las previsualizaciones de PDF en línea, que parece manejar este mismo problema, pero para las cargas de PDF.