Your second datetime doesn’t have a timezone, but I’m assuming it’s local time for you. Use the as_local filter to give it one.
{{ states('sensor.car_gps_sensor') | as_local }}
Timestamps are all measured from the same epoch: Compare the timestamps of now() and utcnow().
So, a datetime without a timezone will be assumed timezone 0 (or then UTC), and you will be out by the timezone difference, because the timestamp’s conversion will happen on the wrong time.