Some progress, but I still don't get it!
First, apologies for not really grasping Voth's reply at first read.
Second, it looks like TeknoTurd and wadesworld are right - the host name is being picked up from the DNS. If I disconnect from the network and start Terminal, I get the expected prompt.
But I don't like having a weird hostname, so I followed Voth's suggestion and edited /etc/hostconfig. This didn't change anything when I restarted Terminal, so I rebooted. Surprise! Now when I start Terminal, the prompt reads "localhost:~", not the host name I put into /etc/hostconfig.
Any thoughts?