Aye, back to share a solution to this. Turns out the barycentric coordinate function doesn't factor in any transformations for it's results. Meaning if you translate, rotate, or scale the mesh you're raycasting against then the vertices become "desynced". We and the raycast see the modified mesh, while the bary function believes that it's unmodified; returning what appears to us as corrupted data.
So the fix is to zero out the mesh's transform. Here's it working:
If you need you're mesh to be rotated, translated, etc., then you're gonna need to do that in Blender not in Godot.
Also, don't forget to shade smooth the mesh. Otherwise bary will return the equivalent of the face normal and you'll get snapping.
'Ight, I'm off to port my F-Zero clone from UE5 to Godot lmao