From what I understand, varnish only caches pages w/o cookies
Não, isso está incorreto. Ele funciona em conjunto com o aplicativo para fornecer uma camada de cache. O verniz geralmente será usado para armazenar em cache qualquer conteúdo estático, bem como conteúdo que seja menos frequentemente alterado. O aplicativo de backend pode controlar como as coisas são armazenadas em cache usando Cache-Control
headers.
Comece aqui para ter uma ideia da arquitetura e o que o Verniz pode fazer: link