There's something much creepier going on here than just IP. The closest location shown for me on https://www.iplocation.net/ is 3 miles away from me and furthest is 10 miles away. Yet Facebook knows my location within 1 mile. (It knows a place less than 1 mile east of me is less than 1 mile east, one less than 1 mile north shows as less than 1 mile north, one 2 miles east shows as 2 miles east, and one 5 miles west of me shows as 5 miles west.) It's not just IP.
I have never used my Android phone for Facebook, ever; only a desktop.
I've never commented on or liked anything for my actual city. More than that, though, the city I show on my profile is several miles away even to its nearest edge. There's nothing in Facebook to tell it my city.
However Google very very likely knows my location (from my phone, even though 98% of the time 'Location' is off). And I use Google on the desktop. That's the only connection I can come up with. I have a extremely frighteningly creepy suspicion about Google and Facebook.
Or else my internet connection is revealing my precise desktop location?
Note, I do use password-protected Wi-Fi in my home.