To further what wordptom and hellsop have stated, it's a combination of the two.
The kWh calculation is a meter (despite the mantra always thrown around), in that a meter takes measured inputs (voltage, amps) and increments the output value (kWh) - the same as your house grid meter would. What they likely mean to say is that the kWh display is not necessarily a meter of battery health or capacity.
The part that's fuzzy is the start and end points, which are always fluctuating.
The top charge point is highly based on temperature of the cells. I've seen it naturally charge anywhere from 81-87%, after resting and allowing temperature (and voltage) to settle. The charger is programmed to aim for a specific voltage, which corresponds to 83.5% SOC. Problem is, the computer typically overrides the SOC when receiving a 'charge full' signal. Always 83.5%. Normally, that's ok, but if there is a significant change in the state of the battery by the time you drive, you're not really at 83.5%.
In the winter, the cells may cool down and you're actually at 81%. In the summer they may warm up and you're actually at 85%. But the charger is working to 83% in both situations. If you're starting at 81% you're already 0.3kWh off of the theoretical "full charge". Conversely, if your battery was cold and you topped off the charge back to full - you could get more than "full charge" if the temperature warms up by the time the battery is used.
And at the bottom, as hellsop said, depending on the load on the battery, the voltage may dip too far and cause it to switch over to ICE even though there would still be some energy left to continue in EV mode under a lighter load.
In short, you pretty much never have a textbook "full charge" available as your start and end points are always floating.
Between those two points though, I've found it to be incredibly accurate - it is metering that value correctly.
i.e. if it says 10.9, you used 10.9 and that's how much will be refilled from the wall (not counting losses). Doesn't mean your battery is necessarily any better or worse than a day it says 10.2, however.