If you do not have location sharing enabled, how could a company running an app know about you? I can think of things like
- the cell phone company is selling your location info to the company, that has your phone number via SMS
- Guessing based on EXIF data from previous posts and previous location service usage ("you're probably where you always are")
Is there something else I'm missing? The point here is we are talking about an app on your phone (not some Apple service or the phone company) knowing where you are
If it has access to bluetooth it can do the same thing, except companies also make heavy use of bluetooth beacons so that they have fixed points to log you at. The range on some beacons is so far that you couldn't even see them but others can log your location within a foot or so. Stores use bluetooth beacons to track where customers in their building walk, how fast they walk, what direction they go, where they stop, what they stop in front of, and how long it was until they started moving again. They can uniquely identify your device and keep detailed maps your movements over time.
If you give an app access to your camera they can see whatever is around you, scan your own selfies and pictures for clues, and even access your microphone. People have been able to get a location from ambient sound alone but there are also audio beacons that are used to track you which broadcast sound outside the range of human hearing.
If location is not enabled, or is not permitted for that application, they shouldn't have that data.
IP addresses are a thing of course, and VPNs can help marginally but not entirely.