### Godot version

v4.1.1.stable.official [bd6af8e0e]

### System information

v4.1.1.stable.official [bd6af8e0e]

### Issue description

In-script documentation (`##`) for `signal` members is not appearing in the _Node_ tab as expected.  Other documentation appears to work correctly in the _Inspector_ tab.

Working example (exported variable):
![GodotDocumentationWorking](https://github.com/godotengine/godot/assets/13528480/ab9b19d4-c9f7-4658-8379-f2c2699310b8)

Non-working example (`signal`)
![GodotDocumentationNotWorking](https://github.com/godotengine/godot/assets/13528480/06824f6a-b135-4454-a06e-7c6feb34060b)

I have tried deselecting and reselecting the associated Node, changing between the tabs on the left pane, changing active scripts and even restarting Godot - nothing makes it work.  According to the [GScript Documentation on Documentation Comments](https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_documentation_comments.html), this **should** work, right?  Or is there something completely obvious that I am missing?


### Steps to reproduce

1. In Godot, create a new Node of type `Node`
2. Attach a new script to this Node, accepting all current defaults
3. In the script editor create a `signal` called `Foo` and right above it, create a `##` comment for it
4. Also create an `@export`ed integer variable called `Bar` and also create a `##` comment for it
5. Unselect and reselect the Node in the _Scene_ tab to refresh the _Inspector_ and _Node_ tabs
6. Hover over the variable in the _Inspector_ tab and see that the added description is shown correctly
7. Hover over the signal in the _Node_ tab and see that the added description is **not** shown and "_No description._" is shown instead

This is an example of the script that could be added:
```
## This is signal foo!
signal Foo

## This is exported signal bar!
@export var Bar : int = 0
```

### Minimal reproduction project

N/A
subst["nodeName"] = node_name.to_camel_case();
	subst["node_name"] = node_name.to_snake_case();
	subst["SignalName"] = p_signal_name.to_pascal_case();
	subst["signalName"] = p_signal_name.to_camel_case();
	subst["signal_name"] = p_signal_name.to_snake_case();
	String dst_method;
	if (p_source == p_target) {
		dst_method = String(GLOBAL_GET("editor/naming/default_signal_callback_to_self_name")).format(subst);
	} else {
		dst_method = String(GLOBAL_GET("editor/naming/default_signal_callback_name")).format(subst);
	}
	return dst_method;
}
void ConnectDialog::_create_method_tree_items(const List<MethodInfo> &p_methods, TreeItem *p_parent_item) {
	for (const MethodInfo &mi : p_methods) {
		TreeItem *method_item = method_tree->create_item(p_parent_item);
		method_item->set_text(0, get_signature(mi));
		method_item->set_metadata(0, mi.name);
	}
}
List<MethodInfo> ConnectDialog::_filter_method_list(const List<MethodInfo> &p_methods, const MethodInfo &p_signal, const String &p_search_string) const {
	bool check_signal = compatible_methods_only->is_pressed();
	List<MethodInfo> ret;
	for (const MethodInfo &mi : p_methods) {
		if (!p_search_string.is_empty() && !mi.name.contains(p_search_string)) {
			continue;
		}
		if (check_signal) {
			if (mi.arguments.size() != p_signal.arguments.size()) {
				continue;