Even at the minimal scale, one is going to have quite a few app instances all over the world sooner or later. In such setting, a notion of regional proximity of any kind quickly becomes irrelevant.
Higher database round-trip times are fixed by using database stored procedures instead of making multitudes of tiny compound SQL queries.
Not everything can be represented by a single database query. Often there is mixing involved using multiple sources, which break down the one query for all results pattern, and thus encourage co-locating the database near the tier making the db requests.
With Fly.io (at least today), this isn't as straightforward given your favorite database is likely not deployed there.