Encontré la respuesta, parece que Rails está tratando de ser eficiente al crear una sesión solo si hay algo que almacenar. Por lo tanto, acceder a session.id sin almacenar algo no arroja resultados consistentes.
Debe forzar la creación de la sesión almacenando algo en ella.
TLDR:agregue esto en algún lugar antes de acceder a la ID de sesión.
session[:foo] = "bar"
Fuente :http://www.gani.com.au/2013/08/force-session-creation-in-rails/