iPhone shows wrong location
Solution 1:
It turns out the only thing to do is wait. I called Apple and the rep said that if power cycling the phone and "forgetting" the wifi network didn't help, the Apple database would clear stale entries after 30 to 60 days. Sure enough, after about a month my phone started showing the new location.
(Note: I tried @bmike's procedure several times on each of the iPhones in our household, but it didn't seem to make a difference. It could be that the procedure does remove that phone's historical location info from Apple's database, but over the many years we were living at our old address we had enough guests with iPhones that removing only our own phones' records wasn't sufficient. If anyone else is having this problem you might as well try that procedure, but know that the problem will self-resolve within a month or so.)
Solution 2:
Yes, you need to opt in to this feature to update locations for your local WiFi conditions.
Go to Settings app -> Privacy -> Location Services -> System Services -> Frequent Locations -> Turn on Frequent Locations and Improve Maps
If you have already opted in, then you should turn off Location Services entirely.
Settings app -> Privacy -> Location Services - OFF
Then turn off WiFi and follow the steps on improving GPS - which basically is set the date/time and then power off the phone. Now turn it back on and while WiFi is off, try opening maps and move to a place where GPS is possible to receive a satellite signal.
Press the triangle/chevron and see that the location updates. Once you've done that, go ahead and turn WiFi on. Also, you might optionally check for an iOS update and then update your carrier settings. (Settings app -> About -> Tap on the carrier settings and record the values. If there is an over the air update, it should prompt you to load it. If not, you could call your carrier and check that your settings are up to date.
The opting out, and then reboot is important to give the servers time to clear your old data as well as send the iPhone through the start up location finding algorithms in my experience. Once the reboot is done, you can enable the location and verify that frequent locations is set appropriately.
Solution 3:
System Preference > General > Reset > Reset Location & Privacy.
That worked for me!