### Godot version

v4.1.dev.custom_build [a67d37f7c]

### System information

Windows 10, Vulkan

### Issue description

When changing between scenes that have volumetric fog enabled in the world environment, for example with `change_scene_to_file`, after changing there will be a continuous stream of errors that doesn't seem to stop.
Leaving a copy of one of the errors here so it's findable when searching the issue: 
"RenderingDeviceVulkan::compute_list_bind_uniform_set: Condition "!uniform_set" is true.
  <C++ Source>   drivers\vulkan\rendering_device_vulkan.cpp:7816 @ RenderingDeviceVulkan::compute_list_bind_uniform_set()"

The MRP is the volumetric fog demo, with its main scene duplicated, and the left/right arrow keys being used to change between scenes.

Disabling vol fog in either scene makes the errors go away.

![image](https://github.com/godotengine/godot/assets/115422160/f2c8ef63-f3f3-49ed-8a44-bbee88c9c352)



### Steps to reproduce

Use left/right arrow keys to change scene and back, then error spam should begin.

### Minimal reproduction project

[new hot volumetric_fog bug.zip](https://github.com/godotengine/godot/files/11575612/new.hot.volumetric_fog.bug.zip)

actions.renames["TAU"] = _MKSTR(Math_TAU);
		actions.renames["E"] = _MKSTR(Math_E);
		actions.renames["WORLD_POSITION"] = "world.xyz";
		actions.renames["OBJECT_POSITION"] = "params.position";
		actions.renames["UVW"] = "uvw";
		actions.renames["SIZE"] = "params.size";
		actions.renames["ALBEDO"] = "albedo";
		actions.renames["DENSITY"] = "density";
		actions.renames["EMISSION"] = "emission";
		actions.renames["SDF"] = "sdf";
		actions.usage_defines["SDF"] = "#define SDF_USED\n";
		actions.usage_defines["DENSITY"] = "#define DENSITY_USED\n";
		actions.usage_defines["ALBEDO"] = "#define ALBEDO_USED\n";
		actions.usage_defines["EMISSION"] = "#define EMISSION_USED\n";
		actions.sampler_array_name = "material_samplers";
		actions.base_texture_binding_index = 1;
		actions.texture_layout_set = VolumetricFogShader::FogSet::FOG_SET_MATERIAL;
		actions.base_uniform_string = "material.";
		actions.default_filter = ShaderLanguage::FILTER_LINEAR_MIPMAP;
		actions.default_repeat = ShaderLanguage::REPEAT_DISABLE;
		actions.global_buffer_array_variable = "global_variables.data";
		volumetric_fog.compiler.initialize(actions);
	}
	{
		
		volumetric_fog.default_shader = material_storage->shader_allocate();
		material_storage->shader_initialize(volumetric_fog.default_shader);
		material_storage->shader_set_code(volumetric_fog.default_shader, R"(
// Default fog shader.
shader_type fog;