Alfredo,
I realize this is in Azure, but would it be possible to use a client to send a request directly to the backend server (circumvent the load balancer) and see if you get the same HTTP 431 error? This would help narrow down if the load balancer is at fault, or the server is at fault.
How big are the headers you are sending to the VIP on the load balancer?
Thank you.