My Nexus 4 running on Android 4.4.2 (KitKat) uses mobile data even when the mobile data is turned off, and I turn on the GPS. When the GPS is turned on I get the carrier message that data is used and the balance is reduced. Why is this happening?
Most phones use data downloaded from the cell network to speed up the initial position fix when you turn on GPS: without these data, it can take several minutes to first get the position, as the GPS receiver has to download all the ephemeris data (i.e. the latest updates/corrections about the satellites' orbits) via the low-bandwidth GPS connection.
Using the cell network to download these data only takes a few seconds, and then you can get a GPS fix right away if you have good visibility. It doesn't actually use the internet at all, which is why it's not affected by the mobile data setting, but since it does download data over your cellular connection, some carriers choose to bill for this as mobile data.
See also What is assisted GPS? on this site.