Exactly. When a user denies location data they don't mean "don't use location data from this source" they mean "don't track my location". It's not unlike them having a flag in their options menu called "Don't track my location" which, when enabled, does nothing.
That's not really clear cut. Many times location services are disabled because of the battery impact.
On iOS in particular it's possible to receive location updates only when changing cell towers, wifi, etc, basically it doesn't use any extra battery.
A few days ago I turned this behaviour off on an app and replaced it with a behaviour where instead it polls for location for a few seconds on start and then shuts off all location services because users disable location services because they believe it is negatively impacting their battery life.
The complaints weren't your tracking my location, the complaints were you're killing my battery life.
This user obviously had location services enabled in the camera app that took the photo that he gave to Path. If location services were actually off, there would be no leak.
The point is^ that users don't (and couldn't be expected to) understand that location service permissions aren't transitive. They have gone to the options menu and said "No path, you may not use my location". The result is that path has still used their location. The steps from A to B and the technical steps taken are-- from a user's perspective-- irrelevant.
^I'm not an iOS user, so maybe the UI makes this all blindingly obvious, in which case I apologise and you can ignore my entire response.