取り敢えずこんな感じ?
ttps://pastebin.com/wtiNPhJm

baseタグのhrefを解釈する時に使われているparseURL関数で
引数のurlにスキームが存在しないとそのurlが
ローカルのものとして解釈されるのが原因だと思う。

lynxでは絶対URIじゃないbaseタグは無視している様なので
w3mでも無視していいかなと。