Check out Dawarich, it has an official iOS app and you can use a number of 3rd party mobile apps to track your data and then upload it to server: either ran on your own hardware (FOSS self-hosted) or to the Dawarich Cloud one: https://dawarich.app
The entire planet's worth reverse geocoding data is ~120gb. The map tiles file for whole planet is also ~120gb, and they both are precompiled, so you don't need hundreds of gbs of RAM to run your local planet. It's easier than you probably think nowadays. Not mobile-size, but local server-size
It depends on how detailed you want your location history to be and also on how you configure your mobile app. Both Overland and Owntracks allow enabling and disabling location tracking. And what they have tracked is being sent to Dawarich, so it's up to client's config.
Yeah, I want to somehow address this too, Dawarich will suggest a place that you visited and will keep it inside a visit record, so it won't be overridden if some other business will open there instead.