### 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.
GLOBAL_DEF(PropertyInfo(Variant::INT, "editor/naming/node_name_num_separator", PROPERTY_HINT_ENUM, "None,Space,Underscore,Dash"), 0);
	GLOBAL_DEF(PropertyInfo(Variant::INT, "editor/naming/node_name_casing", PROPERTY_HINT_ENUM, "PascalCase,camelCase,snake_case"), NAME_CASING_PASCAL_CASE);
	ClassDB::bind_static_method("Node", D_METHOD("print_orphan_nodes"), &Node::print_orphan_nodes);
	ClassDB::bind_method(D_METHOD("add_sibling", "sibling", "force_readable_name"), &Node::add_sibling, DEFVAL(false));
	ClassDB::bind_method(D_METHOD("set_name", "name"), &Node::set_name);
	ClassDB::bind_method(D_METHOD("get_name"), &Node::get_name);
	ClassDB::bind_method(D_METHOD("add_child", "node", "force_readable_name", "internal"), &Node::add_child, DEFVAL(false), DEFVAL(0));
	ClassDB::bind_method(D_METHOD("remove_child", "node"), &Node::remove_child);
	ClassDB::bind_method(D_METHOD("reparent", "new_parent", "keep_global_transform"), &Node::reparent, DEFVAL(true));
	ClassDB::bind_method(D_METHOD("get_child_count", "include_internal"), &Node::get_child_count, DEFVAL(false)); // Note that the default value bound for include_internal is false, while the method is declared with true. This is because internal nodes are irrelevant for GDSCript.
	ClassDB::bind_method(D_METHOD("get_children", "include_internal"), &Node::get_children, DEFVAL(false));
	ClassDB::bind_method(D_METHOD("get_child", "idx", "include_internal"), &Node::get_child, DEFVAL(false));
	ClassDB::bind_method(D_METHOD("has_node", "path"), &Node::has_node);
	ClassDB::bind_method(D_METHOD("get_node", "path"), &Node::get_node);
	ClassDB::bind_method(D_METHOD("get_node_or_null", "path"), &Node::get_node_or_null);
	ClassDB::bind_method(D_METHOD("get_parent"), &Node::get_parent);
	ClassDB::bind_method(D_METHOD("find_child", "pattern", "recursive", "owned"), &Node::find_child, DEFVAL(true), DEFVAL(true));
	ClassDB::bind_method(D_METHOD("find_children", "pattern", "type", "recursive", "owned"), &Node::find_children, DEFVAL(""), DEFVAL(true), DEFVAL(true));
	ClassDB::bind_method(D_METHOD("find_parent", "pattern"), &Node::find_parent);
	ClassDB::bind_method(D_METHOD("has_node_and_resource", "path"), &Node::has_node_and_resource);
	ClassDB::bind_method(D_METHOD("get_node_and_resource", "path"), &Node::_get_node_and_resource);
	ClassDB::bind_method(D_METHOD("is_inside_tree"), &Node::is_inside_tree);
	ClassDB::bind_method(D_METHOD("is_ancestor_of", "node"), &Node::is_ancestor_of);
	ClassDB::bind_method(D_METHOD("is_greater_than", "node"), &Node::is_greater_than);
	ClassDB::bind_method(D_METHOD("get_path"), &Node::get_path);
	ClassDB::bind_method(D_METHOD("get_path_to", "node", "use_unique_path"), &Node::get_path_to, DEFVAL(false));
	ClassDB::bind_method(D_METHOD("add_to_group", "group", "persistent"), &Node::add_to_group, DEFVAL(false));
	ClassDB::bind_method(D_METHOD("remove_from_group", "group"), &Node::remove_from_group);