So, it turns out, the problem was due to layering. The datasheet supporting the map had both the location and the city included in it, but the 'order' field associated with the locations was null. This seems to have sent the locations to the back.
The map has a series of polygons with borders determined by latitude and longitude codes. Together these define the cities (or, locations areas - the borders are operationally relevant rather than geographical). Each of these had a location code, which was the linking variable between city and location. The location code for the city with two locations matched neither. Near as I can tell, this is why the tooltip treated location-level variables as having missing fields - it couldn't find the value for one of the cities among the locations. (The relationship was listed in other places in the dataset, but since there was no linking variable, these were irrelevant).
I split the location area associated with this city between the two locations, renaming all coordinates of the location area as either one or the other (based on which location each point was closest to). Once I knew the role played by location code, I made sure to change the codes to match those of their respective locations. This seems to have resolved the issue.
TLDR: Order values are relevant to the layering of objects on maps - objects with an order value of null might as well not exist. Make sure your linking variable encompasses all the location sets that you want to show on a map.