Desafortunadamente, por lo que puedo ver, la documentación no aborda mis preguntas. Mis configuraciones de OAuth sí funcionan como se espera; solo la funcionalidad adicional descrita en los escenarios 1 y 2 causa problemas.
Lo que busco es algo similar a un parámetro opcional, callback_url, que redirija al usuario a su URL de destino, después de que el proveedor de OAuth haya verificado su cuenta y lo haya devuelto a Discourse.
Supongo que es como si mi instancia de Discourse actuara como un proveedor de OAuth en sí misma para mi aplicación Flask/Python.
Por ejemplo, https://discourse.example.com/auth/google?callback_url=https://example.com/home lleva al usuario a Google, lo devuelve a Discourse, que a su vez lo redirige a callback_url.