Por lo tanto, un error generado por un enlace entrante incorrecto servirá la página plana, mientras que un error de un enlace navegado internamente incorrecto aún contendría esos elementos.
Solo otro recordatorio: trabajo principalmente con contenido y la forma en que los humanos usan el contenido, y soy webmaster, sysadmin y administrador de todo solo porque soy un pez pobre y pequeño…
Pero, ¿puede que el problema aquí sea tan simple que, debido a que Discourse es una solución web un tanto atípica , es más difícil o casi imposible enviar contenido basado en JS al servir un error de estado HTTP 404 que necesita contenido estático en el sentido de cómo lo ve un cliente? No sé en absoluto lo que dicen W3C, RFC, etc.
Pero discourse no son páginas web, es una aplicación JavaScript de página única.
Si visitas la aplicación a través de una ruta inexistente, como un enlace roto, se te servirá una página 404 estática que tiene el mismo estilo que el resto del sitio. No forma parte de la aplicación, por lo que no puede funcionar como tal.
Si haces clic en un enlace interno (desde dentro de la aplicación) a una página que no existe, se te mostrará un error 404 dentro de la propia aplicación.