External chargers have to use terminal voltage to assess state of charge because they are not permanently connected to battery and have no idea how much charge is already in battery, but coulomb counting is much more precise and is used in high end and medical equipment and especially with lithium ion batteries where terminal voltage is not always representative of SOC. Problem with coulomb counting is the battery has to be in a known state of charge when installed and all current in and out has to pass through a sensor.
Coulomb counting has a problem, it does not recognize the battery self discharge; since our lead acid batteries have a higher self discharge rate than li-ion and ni-mhd batteries (very low), the Jazz system cannot consider the battery as a "fully sealed tank" believing that everything seen going inside will stay there until it will be seen coming out. So there must be some parameter correcting this "problem".
Other problem, the hall effect sensor on the -lead cannot be so precise to detect very low currents, less than milliamps flowing through it. I work with hall sensors, and very low currents need very sensitive (and expensive) sensors. Mass production devices as cars and laptops must use cheap components, otherwise their price would explode. This is why also laptops and smartphones, after some charge/discharge cycles, must reset and reconfigure the battery level indicator: each second the coulomb counter loses some electrons, and the sum becomes big after hundred of charging cycles.
So cars must have a mix between coulomb counting, voltage, usage and I suppose a good software considering also temperature, because the sensor on the battery - lead has also a thermocouple.