I know this question was about POST via a Form, but came here looking for answers for similar issue when POSTing with JSON content-type. Found the answer and wanted to share it as it cost me much time.

When using JSON content-type the $_POST array will not populate (only with multi-part forms I believe)

Here is what did work to correct the issue:

$rest_json = file_get_contents("php://input");
$_POST = json_decode($rest_json, true);

hope this helps someone!