私のPHPプロジェクトで以下のようなテンプレートがあります。(bodyの中身やheadの中身はわかりやすいように取り除いています。)

<!DOCTYPE html>
<head>
    <noscript></noscript>
</head>
<body>
</body>
</html>

以上のテンプレートファイルを以下のPHPスクリプトで読み込んで表示させています。

    $file = file_get_contents( $templatePath ); 
    $dom = new \DOMDocument();
    $dom->preserveWhiteSpace = false;
    $dom->formatOutput = true; // not working
    $dom->encoding = 'UTF-8'; 

    libxml_use_internal_errors( true );
    $dom->loadHTML( mb_convert_encoding($file, 'HTML-ENTITIES', 'UTF-8') , LIBXML_NOERROR | LIBXML_NOWARNING );
    libxml_clear_errors();

    echo $dom->saveHtml();

このコードは、自分のmacのXAMMP上ではそのまま表示され、問題ありません。

しかし、サーバにこのコードを上げてブラウザで見ると、以下のように表示され、
noscriptタグがBodyの中に入ってしまいます。

<!DOCTYPE html>
<html>
<head></head>
<body>
    <noscript></noscript>
</body>
</html>

どなたかこの現象がなぜ起こるか分かりますでしょうか。
開発環境は以下です。
環境に差がありますが、noscript以外は問題なく動いているので、
関係なさそうに思いますが。。

【環境】
Local
- XAMPP on my Mac
- Apache/2.4.18 (Unix) PHP/5.6.20

Server
- Apache/2.2.15 (Unix) PHP/5.6.15