Pronto, encontrei a solução. O problema é que o tempo em
maxAge
foi adicionado à data atual. Portanto, no lado do navegador, o cookie foi configurado para expirar no horário GMT mostrado. O problema era o seguinte:eu uso uma máquina virtual para testar o node.js e, você sabe... às vezes, você suspende sua máquina.
Bem, o que aconteceu é que o tempo da máquina estava dois dias atrasado. Portanto, sempre que o cookie era definido no lado do servidor, o lado do cliente achava que o cookie já havia expirado, pois minha máquina host não estava com dois dias de atraso.
Outro resultado estúpido.