I solve by resetting the method in the vcl_miss.
It seems that varnish when filtering backend request force the method from the original request, and not the one modified in vcl_recv :/