xyz i tried your method by adding tooltip to the world (child of world) and then set transforms to the item so that it appears at the top of the object, but still i face the same problem where the label is falling behind the item placement when its going real fast.
Its pretty much the same result i had when using the tooltip inside the Item Node. This time like you say, i didnt have to set top_level = true because the rotation of the item does not affect the tooltip.
Also i used the Label3D in this example. Works fine i guess. Few less nodes to worry about.
Mu hunch for the delayed transforms is this line in the _process() function:
self.global_transform.origin = owner_node.global_transform.origin + v_offset + v_mesh_end
where v_offset is an exported value and customizable, default 0.0 and v_mesh_end is vertical offset of the mesh end, owner_node.global_transform.origin is the basepoint of the Item Node at 0,0,0
Maybe setting the property .origin is not the best practice? Maybe i should use a function, maybe translate() or something?