A diretiva location só olha para o URI normalizado à esquerda do ? - por isso perderá qualquer sequência .. nos argumentos.
Se você precisar verificar o URI bruto que está sendo enviado ao servidor (incluindo argumentos), use uma expressão regular no $request_uri .
Por exemplo:
if ($request_uri ~ \.\.) { return 403; }
Consulte esta advertência sobre o uso da diretiva if .