Я изменил настройки для заголовков на сервере API, и теперь он работает. Таким образом, это действительно разница между
header('Access-Control-Allow-Headers: *');
и
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");