I suspect the best way would be to support polygons. You can see an example here:
Whether polygons also get a pin is a matter of taste. And at what point you switch from a pin to a polygon is also difficult. City could be pin, state polygon, but what about boroughs, counties, etc.
BUT it dramatically increases the amount of data being passed around and the workload for editors. I don't expect most submitters to be able to find a geojson description of their state or country. So I'm not sure if its feasible for an index of this size.
So if that isn't feasible, I would stick to middle. There will be plenty of examples where the capital city has a separate portal from the state. At least in highly federated countries like Germany