### Godot version

master

### System information

Godot v4.2.beta (0ea75d77c) - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2070 (NVIDIA; 31.0.15.3598) - Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz (12 Threads)

### Issue description

When any of the Import, Filesystem, Node, or History docks are floating, changing an editor feature crashes the engine.
Changing any setting or selecting a different profile triggers it.

This is because `EditorNode::_feature_profile_changed` assumes the docks are in a `TabContainer`, and if they are floating they aren't in one.


### Steps to reproduce

Make any of these docks floating: Import, Filesystem, Node, or History
Open Editor Features (Editor -> Manage Editor Features...)
Make a profile (if you have none) or change a setting on the existing profile

### Minimal reproduction project

n/a
if (singleton->cmdline_export_mode) {
		print_line("\t" + p_task + ": step " + itos(p_step) + ": " + p_state);
		return false;
	} else if (singleton->progress_dialog) {
		return singleton->progress_dialog->task_step(p_task, p_state, p_step, p_force_refresh);
	} else {
		return false;
	}
}
void EditorNode::progress_end_task(const String &p_task) {
	if (singleton->cmdline_export_mode) {
		print_line(p_task + ": end");
	} else if (singleton->progress_dialog) {
		singleton->progress_dialog->end_task(p_task);
	}
}
void EditorNode::progress_add_task_bg(const String &p_task, const String &p_label, int p_steps) {
	singleton->progress_hb->add_task(p_task, p_label, p_steps);
}
void EditorNode::progress_task_step_bg(const String &p_task, int p_step) {
	singleton->progress_hb->task_step(p_task, p_step);
}
void EditorNode::progress_end_task_bg(const String &p_task) {
	singleton->progress_hb->end_task(p_task);
}
String EditorNode::_get_system_info() const {