Actually, someone suggested I look at the source code rather than submit a ton of URLs and try to reverse-engineer the logic by looking at the results. Here's the relevant code fron news.arc:
(defmemo sitename (url)
(let toks (parse-site url)
(if (isa (saferead (car toks)) 'int)
(tostring (prall toks "" "."))
(let (t1 t2 t3 . rest) toks
(if (or (mem t1 multi-tld-countries)
(and t3 (mem t2 long-domains)))
(string t3 "." t2 "." t1)
(string t2 "." t1))))))
; Minor bug: can have both google.at and google.co.at. Same for jp.
When I submit http://127.0.0.1:3000, I got "0.1:3000"
I submitted http://localhost:3000 and ended up with ".localhost:3000"
Going with http://192.168.1.104:3000, I ended up with "1.104:3000"
When I go with a bare http://127.0.0.1, I also get the unexpected "1.0.0.127"