The check that is failing is origin comparison, and the proxy broke it by changing what the application sees.
CSRF protection on a form post compares where the browser says the request came from — the Origin or Referer header — against where the application believes it is running. That second value is assembled from the request: the host header and whether the connection was secure.
Behind a proxy, the browser talks HTTPS to the proxy and the proxy talks plain HTTP to your app. So the application sees an unencrypted request and concludes it is running at http://..., while the browser reports an origin of https://.... The strings differ, and the request is rejected.
That is why nothing you changed in the form matters, and why it appeared exactly when the proxy did.