### 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.
ERR_THREAD_GUARD
	data.multiplayer_authority = p_peer_id;
	if (p_recursive) {
		for (KeyValue<StringName, Node *> &K : data.children) {
			K.value->set_multiplayer_authority(p_peer_id, true);
		}
	}
}
int Node::get_multiplayer_authority() const {
	return data.multiplayer_authority;
}
bool Node::is_multiplayer_authority() const {
	ERR_FAIL_COND_V(!is_inside_tree(), false);
	return get_multiplayer()->get_unique_id() == data.multiplayer_authority;
}
void Node::rpc_config(const StringName &p_method, const Variant &p_config) {
	ERR_THREAD_GUARD
	if (data.rpc_config.get_type() != Variant::DICTIONARY) {
		data.rpc_config = Dictionary();
	}
	Dictionary node_config = data.rpc_config;
	if (p_config.get_type() == Variant::NIL) {
		node_config.erase(p_method);
	} else {
		ERR_FAIL_COND(p_config.get_type() != Variant::DICTIONARY);
		node_config[p_method] = p_config;
	}
}
const Variant Node::get_node_rpc_config() const {