### Godot version

4.0.1-stable_mono_win64

### System information

Windows 10 19044

### Issue description

I'm writing a C# script and trying to use `FindChildren` in my `_Ready` method.

My scene is like this with a root node with the script attached:

![image](https://user-images.githubusercontent.com/8959496/228436785-897dbbf3-eca6-4b3e-940c-17ada4e305e8.png)

Calling `FindChildren("face_*")` is returning an empty array where I instead expect it to return a collection of the 6 nodes under `cube_rounded`.

If I call `FindChild("face_*")` instead it properly returns the `face_front` first node at the top of the tree, so the singular child function is working, but not the collection one.

`FindChildren("Pivot")` does find its immediate child, so it looks like maybe the `recursive` property is being ignored? Explicitly setting it to `true` changes nothing.

### Steps to reproduce

1. Install C# version of Godot
2. Setup a 3D scene of nodes (any type) with hierarchy:

- RigidBody3D (names not important here)
  - Pivot
    - cube_rounded
      - face_front
      - face_left
      - face_right
      - face_back
      - face_top
      - face_bottom

3. Create a new C# script on the root node inheriting from `Node3D`
4. Add `var test = FindChildren("face_*");` in the `_Ready()` method
5. set a breakpoint in Visual Studio and debug the project

See after executing the line that test is an empty array instead of the 6 expected nodes.

Repros in 4.0.0-stable as well (checked for new version and tried on 4.0.1 when I saw it had released, same issue).

### Minimal reproduction project

Minimal project with same structure above of just Node3D objects:

[FindChildrenRepro.zip](https://github.com/godotengine/godot/files/11097185/FindChildrenRepro.zip)

Setup to output in Console:

```
--- Debugging process started ---
Godot Engine v4.0.1.stable.mono.official.cacf49999 - https://godotengine.org
Vulkan API 1.3.205 - Forward Mobile - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 1080
 
Children Count: 0 expect 6
Can find child instead: True
```

Should see `Children Count: 6 expect 6` instead.

Included the call to `FindChild` which shows the exact same pattern working to find a child there, but the aggregate call with `FindChildren` fails.
child_by_path = SceneTree::get_singleton()->get_root()->get_node_or_null(NodePath("/root/Node1/NestedNode"));
		CHECK_EQ(child_by_path, node1_1);
		child_by_path = SceneTree::get_singleton()->get_root()->get_node_or_null(NodePath("Node1/NestedNode"));
		CHECK_EQ(child_by_path, node1_1);
	}
	SUBCASE("Nodes should be accessible via their groups") {
		List<Node *> nodes;
		SceneTree::get_singleton()->get_nodes_in_group("nodes", &nodes);
		CHECK(nodes.is_empty());
		SceneTree::get_singleton()->get_nodes_in_group("other_nodes", &nodes);
		CHECK(nodes.is_empty());
		node1->add_to_group("nodes");
		node2->add_to_group("other_nodes");
		node1_1->add_to_group("nodes");
		node1_1->add_to_group("other_nodes");
		SceneTree::get_singleton()->get_nodes_in_group("nodes", &nodes);
		CHECK_EQ(nodes.size(), 2);
		List<Node *>::Element *E = nodes.front();
		CHECK_EQ(E->get(), node1);
		E = E->next();
		CHECK_EQ(E->get(), node1_1);
		
		nodes.clear();
		SceneTree::get_singleton()->get_nodes_in_group("other_nodes", &nodes);
		CHECK_EQ(nodes.size(), 2);
		E = nodes.front();
		CHECK_EQ(E->get(), node1_1);
		E = E->next();
		CHECK_EQ(E->get(), node2);