I am not good at physics.
But if I 'don't misunderstanding, I think the fomula you use(x = vi * t + 1/2 * a * t^2) is a free-fall body formula.
For the ideal situations, an object falling without air resistance or friction is defined to be in free-fall.
However godot's RigidBody2D node did have some resistances, for example "linear damp" and "angular damp".
And godot's project itself alse have some resistances, for example "default linear damp" and "default angular damp".
I guess maybe that's why it's different from your expected.