¡Ya logré que funcione! @RGJ señaló amablemente lo siguiente:
Cuando Discourse realiza la redirección y envía la clave API para que se descifre como una carga útil en la URL de redirección, dicha clave pasa por codificación de URL. Por lo tanto, para obtener la clave API real, debes aplicar la decodificación de URL a la carga útil. El resultado es la clave API que funciona correctamente (la cual coincide con la longitud de la clave que Discourse muestra en pantalla).
He compartido los pasos que sigo para lograr que esto funcione aquí: