nil になるのは2つパターンがあります
WKWebView の load(_ request: URLRequest)
に POSTメソッドでhttpBodyを設定したURLRequestを渡しても、 httpBodyがnilとしてリクエストされてしまう
iOS10以下で発生しているバグです。
iOS11では解決しています。
iOS10以下でも場合によっては解決策がないこともないですが、アプリのデザインを見直して解決したほうが良いかと思われます。
WKNavigationDelegate で navigationAction.request
がPOSTメソッドのとき httpBody が nil になる
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)
こちらは iOS11 でも引き続き nil になります。requestに介入できないようにあえてそうしているのかもしれません。