### Godot version

4.1 RC3

### System information

Windows 11 AMD Ryzen 5950x

### Issue description

Actually should be pretty simple, as of commit: https://github.com/godotengine/godot/commit/1c93606e470f0cad5f14af104ccb89a95a89931c

SurfaceTool's add_triangle_fan() maps its parameters like so:
`add_triangle_fan(p_vertices, p_uv2s, p_colors, p_uv2s, p_normals, Variant(p_tangents));`

As you can see its using **p_uv2s** as the 2nd _and_ 4th parameters, and isn't using **p_uvs** at all which ought to be the 2nd parameter. The 2nd parameter at the moment does nothing at all.

As a result I had to change my code from:
`surface_tool.add_triangle_fan(vertices, [uvs[0], uvs[1], uvs[2], uvs[1], uvs[3], uvs[2]])`
To:
`surface_tool.add_triangle_fan(vertices, [], [], [uvs[0], uvs[1], uvs[2], uvs[1], uvs[3], uvs[2]])`

### Steps to reproduce

Use add_triangle_fan and place your UVs as the 2nd parameter, your mesh will be black. When you change your uvs to the 4th parameter, it correctly maps.

### Minimal reproduction project

Should be trivial to reproduce (and to see why it's broken in this commit)
if (weights[i] != p_vertex.weights[i]) {
			return false;
		}
	}
	for (int i = 0; i < RS::ARRAY_CUSTOM_COUNT; i++) {
		if (custom[i] != p_vertex.custom[i]) {
			return false;
		}
	}
	if (smooth_group != p_vertex.smooth_group) {
		return false;
	}
	return true;
}
uint32_t SurfaceTool::VertexHasher::hash(const Vertex &p_vtx) {
	uint32_t h = hash_djb2_buffer((const uint8_t *)&p_vtx.vertex, sizeof(real_t) * 3);
	h = hash_djb2_buffer((const uint8_t *)&p_vtx.normal, sizeof(real_t) * 3, h);
	h = hash_djb2_buffer((const uint8_t *)&p_vtx.binormal, sizeof(real_t) * 3, h);
	h = hash_djb2_buffer((const uint8_t *)&p_vtx.tangent, sizeof(real_t) * 3, h);
	h = hash_djb2_buffer((const uint8_t *)&p_vtx.uv, sizeof(real_t) * 2, h);
	h = hash_djb2_buffer((const uint8_t *)&p_vtx.uv2, sizeof(real_t) * 2, h);
	h = hash_djb2_buffer((const uint8_t *)&p_vtx.color, sizeof(real_t) * 4, h);
	h = hash_djb2_buffer((const uint8_t *)p_vtx.bones.ptr(), p_vtx.bones.size() * sizeof(int), h);
	h = hash_djb2_buffer((const uint8_t *)p_vtx.weights.ptr(), p_vtx.weights.size() * sizeof(float), h);
	h = hash_djb2_buffer((const uint8_t *)&p_vtx.custom[0], sizeof(Color) * RS::ARRAY_CUSTOM_COUNT, h);
	h = hash_murmur3_one_32(p_vtx.smooth_group, h);
	h = hash_fmix32(h);
	return h;
}
bool SurfaceTool::SmoothGroupVertex::operator==(const SmoothGroupVertex &p_vertex) const {