Isso não deve funcionar para nenhum PHP. Você define uma variável em um local e depois a utiliza em outro, o que não funciona no Nginx. O escopo herda apenas para baixo, não para cima ou para frente, então http - > servidor - > localização, nunca localização - > localização.
Além disso, não há necessidade de usar uma variável customizada para o PHP root, você deve apenas especificar sua raiz com a diretiva root normal (no contexto do servidor) e então usar a variável interna $ document_root para o seu script SCRIPT_FILENAME fastcgi param.