This is at the bottom of the Google search results page on mobile right?
If so, that location is based on signals from a bunch of places. The logic takes as input:
* Location history in your Google account (if enabled)
* IP address location lookup from the most recent request (if sufficiently accurate)
* HTML5 location API response from previous requests to Google search on your account (since the html5 location API is quite slow, and you don't want to wait 30 seconds for search results).
My guess is you have location history disabled. And you have the html5 location API disabled. And your Seattle IP address doesn't resolve to a very precise location (so is rejected). So the last fallback is the last known location for you, which was probably the hotel WiFi in Mexico, which probably did have a precise geocode associated.
If you want to fix that, you can set a manual location IIRC, or you can enable some other location source.