After a couple of weeks of this, I somehow got the idea that it was related to the devices' configured locations. And sure enough, telling the Home that I lived in the next city over fixed the problem.
So I started a binary search and eventually found that the issue was limited to my ~10x20 block Seattle neighborhood - basically the outline shown when I search for its name in Google Maps. I then also realized that it applied to weather queries on my phone as well, but since the phone uses GPS rather than a specific location setting, I could only reproduce the broken and working behaviors by crossing one of the neighborhood boundary streets.
Turns out it was some long-standing configuration issue with Knowledge Graph's entry for my neighborhood, and some recent code change in location-based weather queries began butting heads with it. Luckily I worked at Google at the time and was able to track down and pester people that could help fix the issue.