### 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
TreeItem *signal_item = tree->create_item(section_item);
			String signame = connect_dialog->get_signature(mi, &argnames);
			signal_item->set_text(0, signame);
			if (signame == prev_selected) {
				signal_item->select(0);
				prev_selected = "";
			}
			Dictionary sinfo;
			sinfo["name"] = signal_name;
			sinfo["args"] = argnames;
			signal_item->set_metadata(0, sinfo);
			signal_item->set_icon(0, get_theme_icon(SNAME("Signal"), SNAME("EditorIcons")));
			
			{
				String descr;
				bool found = false;
				HashMap<StringName, HashMap<StringName, String>>::Iterator G = descr_cache.find(base);
				if (G) {
					HashMap<StringName, String>::Iterator F = G->value.find(signal_name);
					if (F) {
						found = true;
						descr = F->value;
					}
				}
				if (!found) {
					DocTools *dd = EditorHelp::get_doc_data();
					HashMap<String, DocData::ClassDoc>::Iterator F = dd->class_list.find(base);
					while (F && descr.is_empty()) {
						for (int i = 0; i < F->value.signals.size(); i++) {
							if (F->value.signals[i].name == signal_name.operator String()) {