It's no different here.
Unless you've tailored blockland gravity to apply the minimum possible downward force per tick as allowed by a float value, it's different here. Imagine this:
You have a z speed value of 50. Gravity is 3 per tick.
Tick 1: 47
Tick 2: 44
Tick 3: 41
..
Tick 15: 5
Tick 16: 2
Tick 17: -1
See how it skipped over 0?
Or a more relevant example:
Your velocity is 8.21529 with 0.003 gravity per tick.
After 2738 ticks, your velocity has been reduced to 0.00129. After the next tick, your velocity is -0.00171. It skipped over zero. It will almost exclusively always skip over zero. There will probably never be a situation where the initial velocity is divisible by the gravity factor.