Estado de inicio de sesión inconsistente detrás de Fastly

Tengo un problema un poco extraño, pero hay muchos factores en juego.

Problema:

Cuando estoy conectado y navego directamente a la página de inicio de mi foro, parece que no estoy conectado en la interfaz de usuario; por ejemplo, la barra de navegación muestra enlaces de registro/inicio de sesión en lugar del avatar del usuario.

Navegar directamente a una publicación específica resulta en el estado de inicio de sesión correcto, y las transiciones posteriores con pushstate funcionan, incluido ir a la página de inicio. Sin embargo, una recarga en la página de inicio hará que aparezca como desconectado (como se mencionó anteriormente).

Antecedentes:

Estoy utilizando Discourse completamente detrás de Fastly, excepto la funcionalidad de sondeo, que se comunica directamente con mi instancia de GCP Compute.

Supongo que esto tiene algo que ver con la capa de caché, pero he sido bastante cuidadoso al leer las discusiones en este foro. No tengo activada la compresión automática GZIP de Fastly.

El foro está aquí y aquí hay un video de lo anterior.

Tras una investigación más detallada, creo que el problema puede estar relacionado con el momento en que el encabezado de respuesta Cache-Control es no-cache, no-store, en combinación con que Fastly no respeta esos valores.

Mi CDN Fastly estaba marcando lo que parecía ser una versión de la página de inicio sin scripts para un rastreador web como HIT, ya que debe haber rastreado con el valor no-cache, no-store.

Fastly sugiere agregar un Expires: 0 en situaciones como esta.

He implementado esto según lo recomendado en la documentación de Fastly, mientras tanto.