Quando você recebe uma solicitação POST, ela deve alterar alguns objetos no armazenamento do back-end (banco de dados), o que depende da lógica do seu aplicativo. Portanto, o NGINX simplesmente não faz idéia do que realmente deve ser feito em seu aplicativo e simplesmente não tenta armazenar em cache qualquer solicitação POST, redirecionando-as diretamente para seu back-end.
Enquanto isso, as solicitações GET devem apenas ler dados, sem nenhuma escrita - assim, pode ser facilmente armazenada em cache, porque toda vez que o resultado da leitura for o mesmo.