### Godot version

4.1 stable

### System information

Windows 11 64bit

### Issue description

A dynamic `NavigationObstacle2D` with radius > 0 is not displayed properly in editor when setting it to a position other than the origin. The center of the avoidance circle is not at the correct position after switching scenes or hiding/showing the obstacle.

It looks like some transform is applied twice.

### Steps to reproduce

- create an empty 2D scene
- add a `NavigationObstacle2D` and change it's radius to something greater zero
- set it to a position other than the origin
- hide and show the obstacle or switch to another scene and back
- observe that the center of the avoidance circle is not longer at the correct position

### Minimal reproduction project

-
if (!can_process()) {
				map_before_pause = map_current;
				_update_map(RID());
			} else if (can_process() && !(map_before_pause == RID())) {
				_update_map(map_before_pause);
				map_before_pause = RID();
			}
			NavigationServer2D::get_singleton()->obstacle_set_paused(obstacle, !can_process());
		} break;
		case NOTIFICATION_INTERNAL_PHYSICS_PROCESS: {
			if (is_inside_tree()) {
				_update_position(get_global_transform().get_origin());
				if (velocity_submitted) {
					velocity_submitted = false;
					
					if (!previous_velocity.is_equal_approx(velocity)) {
						NavigationServer2D::get_singleton()->obstacle_set_velocity(obstacle, velocity);
					}
					previous_velocity = velocity;
				}
			}
		} break;
		case NOTIFICATION_DRAW: {
#ifdef DEBUG_ENABLED
			if (is_inside_tree()) {
				bool is_debug_enabled = false;
				if (Engine::get_singleton()->is_editor_hint()) {
					is_debug_enabled = true;
				} else if (NavigationServer2D::get_singleton()->get_debug_enabled() && NavigationServer2D::get_singleton()->get_debug_avoidance_enabled()) {
					is_debug_enabled = true;