### 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)
ERR_FAIL_COND(!begun);
	Vertex vtx;
	vtx.vertex = p_vertex;
	vtx.color = last_color;
	vtx.normal = last_normal;
	vtx.uv = last_uv;
	vtx.uv2 = last_uv2;
	vtx.weights = last_weights;
	vtx.bones = last_bones;
	vtx.tangent = last_tangent.normal;
	vtx.binormal = last_normal.cross(last_tangent.normal).normalized() * last_tangent.d;
	vtx.smooth_group = last_smooth_group;
	for (int i = 0; i < RS::ARRAY_CUSTOM_COUNT; i++) {
		vtx.custom[i] = last_custom[i];
	}
	const int expected_vertices = skin_weights == SKIN_8_WEIGHTS ? 8 : 4;
	if ((format & Mesh::ARRAY_FORMAT_WEIGHTS || format & Mesh::ARRAY_FORMAT_BONES) && (vtx.weights.size() != expected_vertices || vtx.bones.size() != expected_vertices)) {
		
		ERR_FAIL_COND(vtx.weights.size() != vtx.bones.size());
		if (vtx.weights.size() < expected_vertices) {
			
			for (int i = vtx.weights.size(); i < expected_vertices; i++) {
				vtx.weights.push_back(0);
				vtx.bones.push_back(0);
			}
		} else if (vtx.weights.size() > expected_vertices) {
			
			Vector<WeightSort> weights;
			for (int i = 0; i < vtx.weights.size(); i++) {
				WeightSort ws;