There's a couple of approaches to consider. Firstly, if you just want a list of cities and their geographies for example, you could just use the Load operation to include them as a table in your app, like so:
If instead however you have a list of geography names you want to look up the geometry for, such as country, you can use the lookup operations as you've suggested. In the example below I have some country names already loaded from another table ([Suppliers], with fields [ID] and [CountryName]) and I want to look up the area geometries:
This operation allows me to load a table with the geometries of the countries I already have in my app. As you say, with the geometries stored locally in your app you can overcome the latency issue that affects some regions when using the cloud hosted geoanalytics server. Another option is to purchase your own geoanalytics server instance and implement it such that latency is no longer an issue.
I trust I've understood your query properly and managed to assist.