### Godot version

4.0 beta 13

### System information

Windows 10

### Issue description

Looks like a regression of  #67498
Error fired :
```
ERROR: Uniforms supplied for set (3):
Set: 3 Binding: 0 Type: UniformBuffer Writable: N Length: 16
are not the same format as required by the pipeline shader. Pipeline shader requires the following bindings:
Set: 0 Binding: 1 Type: Sampler Writable: N Length: 12
Set: 0 Binding: 2 Type: Sampler Writable: N Length: 1
Set: 0 Binding: 3 Type: Sampler Writable: N Length: 1
Set: 0 Binding: 4 Type: Sampler Writable: N Length: 1
Set: 0 Binding: 5 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 6 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 7 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 8 Type: UniformBuffer Writable: N Length: 3712
Set: 0 Binding: 9 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 10 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 11 Type: Texture Writable: N Length: 1
Set: 0 Binding: 12 Type: Texture Writable: N Length: 1
Set: 0 Binding: 13 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 14 Type: StorageBuffer Writable: N Length: 0
Set: 0 Binding: 15 Type: UniformBuffer Writable: N Length: 496
Set: 1 Binding: 0 Type: UniformBuffer Writable: N Length: 5632
Set: 1 Binding: 1 Type: UniformBuffer Writable: N Length: 144
Set: 1 Binding: 2 Type: StorageBuffer Writable: N Length: 0
Set: 1 Binding: 3 Type: Texture Writable: N Length: 1
Set: 1 Binding: 4 Type: Texture Writable: N Length: 1
Set: 1 Binding: 5 Type: Texture Writable: N Length: 1
Set: 1 Binding: 6 Type: Texture Writable: N Length: 1
Set: 1 Binding: 7 Type: Texture Writable: N Length: 8
Set: 1 Binding: 8 Type: Texture Writable: N Length: 8
Set: 1 Binding: 9 Type: StorageBuffer Writable: N Length: 0
Set: 1 Binding: 10 Type: Texture Writable: N Length: 1
Set: 1 Binding: 11 Type: Texture Writable: N Length: 1
Set: 1 Binding: 12 Type: Texture Writable: N Length: 1
Set: 1 Binding: 13 Type: Texture Writable: N Length: 1
Set: 1 Binding: 14 Type: Texture Writable: N Length: 1
Set: 1 Binding: 15 Type: Texture Writable: N Length: 1
Set: 1 Binding: 16 Type: Texture Writable: N Length: 1
Set: 1 Binding: 17 Type: Texture Writable: N Length: 1
Set: 1 Binding: 18 Type: UniformBuffer Writable: N Length: 896
Set: 1 Binding: 19 Type: Texture Writable: N Length: 1
Set: 1 Binding: 20 Type: Texture Writable: N Length: 1
Set: 2 Binding: 0 Type: StorageBuffer Writable: N Length: 0
Set: 3 Binding: 2 Type: Texture Writable: N Length: 1
   at: (drivers/vulkan/rendering_device_vulkan.cpp:7347)
```



### Steps to reproduce

Create a shader with two `uniform sampler2D`, one with `hint_depth_texture`. Try to inverse the two sampler2D,

### Minimal reproduction project

Not needed
if (p_node->type != Node::TYPE_OPERATOR) {
		return p_node;
	}
	
	OperatorNode *op = static_cast<OperatorNode *>(p_node);
	if (op->op == OP_CONSTRUCT) {
		ERR_FAIL_COND_V(op->arguments[0]->type != Node::TYPE_VARIABLE, p_node);
		DataType type = op->get_datatype();
		DataType base = get_scalar_type(type);
		int cardinality = get_cardinality(type);
		Vector<ConstantNode::Value> values;
		for (int i = 1; i < op->arguments.size(); i++) {
			op->arguments.write[i] = _reduce_expression(p_block, op->arguments[i]);
			if (op->arguments[i]->type == Node::TYPE_CONSTANT) {
				ConstantNode *cn = static_cast<ConstantNode *>(op->arguments[i]);
				if (get_scalar_type(cn->datatype) == base) {
					for (int j = 0; j < cn->values.size(); j++) {
						values.push_back(cn->values[j]);
					}
				} else if (get_scalar_type(cn->datatype) == cn->datatype) {
					ConstantNode::Value v;
					if (!convert_constant(cn, base, &v)) {
						return p_node;
					}
					values.push_back(v);
				} else {
					return p_node;