Página de redirecionamento para URLs externas

O que você está procurando é chamado de decorador de postagem. É um hook que permite executar scripts antes de cada postagem ser renderizada. Ele faz parte da API de plugins.

Agora, sobre o que você quer fazer (redirecionar todos os links externos). Não acho que adicionar tanta fricção seja uma boa ideia, então não posso ajudá-lo com isso — além disso, você já descobriu essa parte. Dito isso, aqui está um exemplo comentado de como criar uma configuração que visa todos os links externos nas postagens.

Isso deve ser inserido na seção header do seu tema ou componente de tema:

<script type="text/discourse-plugin" version="0.8">
  // Armazena o nome do host para reutilização.
  const siteHostname = location.hostname;
  
  // Vamos criar um decorador para fazer isso em cada postagem
  api.decorateCooked(
    post => {
      // A postagem tem links?
      const links = [...post[0].querySelectorAll("a")];
      
      // Sem links, encerra.
      if (!links.length) return;
      
      // Temos links, vamos filtrá-los e pegar apenas os externos
      const externalLinks = links.filter(
        link => link.hostname !== siteHostname
      );
      
      // Se houver links externos, vamos fazer algo. Por exemplo, podemos
      // adicionar uma classe a cada link externo, assim:
      externalLinks.forEach(link => {
        link.classList.add('external-link');
        // Faça mais coisas aqui.
      });
    },
    // Damos um ID ao decorador para evitar vazamentos de memória.
    { id: "external-link-decorator" }
  );
</script>

Novamente, redirecionar usuários gera muita fricção e pode se tornar irritante rapidamente. Portanto, eu consideraria outra abordagem, como talvez adicionar um ícone sutil ao lado dos links externos e ensinar seus usuários o que ele significa, em vez disso?