### 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 (map_override == p_navigation_map) {
		return;
	}
	map_override = p_navigation_map;
	_update_map(map_override);
}
RID NavigationObstacle2D::get_navigation_map() const {
	if (map_override.is_valid()) {
		return map_override;
	} else if (is_inside_tree()) {
		return get_world_2d()->get_navigation_map();
	}
	return RID();
}
void NavigationObstacle2D::set_radius(real_t p_radius) {
	ERR_FAIL_COND_MSG(p_radius < 0.0, "Radius must be positive.");
	if (Math::is_equal_approx(radius, p_radius)) {
		return;
	}
	radius = p_radius;
	NavigationServer2D::get_singleton()->obstacle_set_radius(obstacle, radius);
	if (is_inside_tree() && (Engine::get_singleton()->is_editor_hint() || get_tree()->is_debugging_navigation_hint())) {
		queue_redraw();
	}
}
void NavigationObstacle2D::set_avoidance_layers(uint32_t p_layers) {