### Godot version

v4.1.beta.custom_build [72b59325c]

### System information

Windows 10, Vulkan

### Issue description

This has been plaguing me for a while in my main project. I can only partially reproduce it in a MRP:
When placing a binary mesh resource imported from a .glb file into a MeshInstance3D, it will be gone upon restart. It doesn't seem to happen to every resource, but I've had MIs that were fine and then start doing it out of nowhere.
I thought it was going to be related to materials due to things like https://github.com/godotengine/godot/issues/77007 but I can reliably trigger it with the steps listed below.
I have done limited testing on .tres files because I usually use .res for size/performance, but in the MRP .tres doesn't seem to trigger it, so perhaps it doesn't affect those.

Note on the Steps to reproduce: you have to delete the test_cube.res and redo the steps to trigger the bug again, but in my main project the affected resources always disappear.

### Steps to reproduce

1. Double click test_cube.glb
2. Click the mesh (test_cube_Cube_097), set save to file path as: res://test_cube.res
3. Make sure to click the little folder icon and then Save (this seems to make it consistent to proc)
4. Press Reimport
5. Drag the test_cube.res to the Mesh slot of the MeshInstance3D
6. Ctrl+s to save
7. Project -> Reload current project
8. Mesh is no longer in the MeshInstance3D

### Minimal reproduction project

[binary res bug.zip](https://github.com/godotengine/godot/files/11681009/binary.res.bug.zip)
reimports.push_back(full_path);
					Vector<String> dependencies = _get_dependencies(full_path);
					for (const String &dependency_path : dependencies) {
						if (import_extensions.has(dependency_path.get_extension())) {
							reimports.push_back(dependency_path);
						}
					}
				} else {
					
					
					ia.dir->files[idx]->modified_time = FileAccess::get_modified_time(full_path);
					ia.dir->files[idx]->import_modified_time = FileAccess::get_modified_time(full_path + ".import");
				}
				fs_changed = true;
			} break;
			case ItemAction::ACTION_FILE_RELOAD: {
				int idx = ia.dir->find_file_index(ia.file);
				ERR_CONTINUE(idx == -1);
				String full_path = ia.dir->get_file_path(idx);
				if (ClassDB::is_parent_class(ia.dir->files[idx]->type, SNAME("Script"))) {
					_queue_update_script_class(full_path);
				}
				reloads.push_back(full_path);
			} break;
		}
	}
	if (_scan_extensions()) {
		
		
		if (EditorNode::immediate_confirmation_dialog(TTR("Some extensions need the editor to restart to take effect."), first_scan ? TTR("Restart") : TTR("Save & Restart"), TTR("Continue"))) {