調べてみて、原因もほぼ究明できましたが、これ、めんどうですねえ。
snoopy.php 810行目
if(!empty($this->port))
$headers .= ":".$this->port;
と、Hostリクエストに勝手にポート番号まで足してしまうのは、Snoopyのバグ(というか仕様ミス)であると言えるでしょう。
ただ、通常はほとんどのサイトではそれでちゃんと取得できているので、Hostリクエストへのポート番号付与が効かないというのは、ロリポ側の問題であるとも言えます。
xhldとしては、snoopyに頼らずに、自前でfsockopenかけるように方向転換するのが良いかもしれませんね。
正直言って、snoopyのソースコードもいろいろ怪しいですから。