Nginx loses POST variable with http -> https redirect
If you are willing to forgo the "permanent" redirect status, I believe a 307 redirect instead of a 301 will preserve the POST. There actually is a redirect that is permanent and preserves the post, a 308, but it isn't well adopted yet by browsers and other user agents.
This is a common problem and there is not an easy solution for this.
There are some answers with similar questions here
Apache 301 Redirect and preserving post data
Is it possible to redirect post data?
Maybe one of the answers could help to solve your issue