Isso é controlado pela configuração do site maximum session age do Discourse. Essa configuração tem como padrão 1440 horas. A menos que seja definida para um valor muito baixo, não é uma maneira confiável de desconectar usuários. Isso ocorre porque ela define o tempo que um usuário permanecerá logado desde sua última visita. Definir maximum session age para um número muito pequeno de horas também pode causar desconforto para os usuários do seu site.
Acho que sua melhor abordagem seria desconectar os usuários do Discourse por meio da API quando as associações expirarem. Há um exemplo de código mostrando como fazer isso aqui: wp-discourse/lib/sso-provider/discourse-sso.php at main · discourse/wp-discourse · GitHub. Você pode precisar de ajuda de um desenvolvedor para fazer uma chamada à API e desconectar os usuários do Discourse quando a associação deles expirar.