Missing out places like that is nothing to do with location accuracy and everything to do with battery life. Every time the phone has to start up a process, get a location fix, and record that position in some database or send it to the cloud, it's running your battery down a teensy bit. This might be OK for an app like Strava where users run it deliberately, and are willing to spend some battery life on getting accurate results, but it's not OK for something that's always running in the background.
For this reason, your location history doesn't actually update very often, so it's very common for arrival or departure times to be inaccurate, or even for it to miss a short visit entirely.
Changing location mode won't affect this. One solution if it's really important to have a good GPS log is to use an app specifically for this purpose. It will run down your battery if you run it for a long period. Another option is to use a dedicated handheld GPS. As a purpose-specific device, it's optimized for just this task, and doesn't have to wake up your whole phone just to record a position.