UIPanel.LateUpdate() doesn't calculate 3D game object position, and doesn't follow anything. UIPanel.LateUpdate() is where geometry gets rebuilt. Geometry needs to be rebuilt whenever something changes in the UI, which is why I suggested moving your HUD elements onto their own panel, so that their changes don't affect stationary widgets.
You really should look into the HUDText extension. UIFollowTarget script there does the following logic inside, and can disable game object's children if the game object is not in view, which saves a lot of performance.