Во-первых нужно было убрать http_build_query и в контент передавать просто $json:
$json = json_encode(['name' => 'Имя', 'phone' => '88000000000']);
$options = ['http' => [
'method' => 'POST',
'header' => 'Content-type:application/json',
'content' => $json
]];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
Ну а во вторых, как все уже написали, нужно было получать не $_POST, а
$fd = fopen("result.txt", 'a') or die("не удалось создать файл");
$str = file_get_contents('php://input').PHP_EOL;
fwrite($fd, $str);
fclose($fd);