### Godot version

4.1 Beta 3

### System information

Win 10, RTX 2070 mobile

### Issue description

If you set a body to be Top Level using the check box in inspector and save your project, next time you open the project that checkbox is unchecked. Looks like 'project save' somehow ignores that property and doesn't save it,

### Steps to reproduce

1. start a new 3d scene
2. add a 3d node, say, a static body
3. set the node to Top Level by checking the Top Level box in the inspector with the node selected.
4. Save your project
5. Reload project (not scene, project)
6. The box is unchecked

### Minimal reproduction project

n/a
ERR_THREAD_GUARD;
#ifdef TOOLS_ENABLED
	if (!is_inside_world()) {
		return;
	}
	if (data.gizmos.is_empty()) {
		get_tree()->call_group_flags(SceneTree::GROUP_CALL_DEFERRED, SceneStringNames::get_singleton()->_spatial_editor_group, SNAME("_request_gizmo_for_id"), get_instance_id());
		return;
	}
	if (data.gizmos_dirty) {
		return;
	}
	data.gizmos_dirty = true;
	MessageQueue::get_singleton()->push_callable(callable_mp(this, &Node3D::_update_gizmos));
#endif
}
void Node3D::set_subgizmo_selection(Ref<Node3DGizmo> p_gizmo, int p_id, Transform3D p_transform) {
	ERR_THREAD_GUARD;
#ifdef TOOLS_ENABLED
	if (!is_inside_world()) {
		return;
	}
	if (Engine::get_singleton()->is_editor_hint() && get_tree()->is_node_being_edited(this)) {
		get_tree()->call_group_flags(SceneTree::GROUP_CALL_DEFERRED, SceneStringNames::get_singleton()->_spatial_editor_group, SceneStringNames::get_singleton()->_set_subgizmo_selection, this, p_gizmo, p_id, p_transform);
	}
#endif
}
void Node3D::clear_subgizmo_selection() {