### Godot version

v4.0.beta13.official [caacade56]

### System information

Windows 8.1

### Issue description

The `Unreachable code (statement after return) in function 'function_name()'` warning is given for functions that do not have unreachable code. The same code does not give this warning in v3.5.stable.official [991bb6ac7].

### Steps to reproduce

```
func warning(i: int) -> void:
  if i == 0:
    pass
  elif i == 1:
    return
  else:
    return
  print("yeah")
```

Removing either the `elif` or the `else` removes the warning.

### Minimal reproduction project

N/A; code in reproduction steps can be placed in any blank gdscript file to trigger the error.
BRIEF,
		DESC,
		TUTORIALS,
		DONE,
	};
	Mode mode = BRIEF;
	if (p_inner_class) {
		while (comments.has(line - 1)) {
			if (!comments[line - 1].new_line || !comments[line - 1].comment.begins_with("##")) {
				break;
			}
			line--;
		}
	}
	int codeblock_begins = 0;
	while (comments.has(line)) {
		if (!comments[line].new_line || !comments[line].comment.begins_with("##")) {
			break;
		}
		String title, link; 
		String doc_line = comments[line++].comment.trim_prefix("##");
		String stripped_line = doc_line.strip_edges();
		
		if (stripped_line.is_empty() && mode == BRIEF && !p_brief.is_empty()) {
			mode = DESC;
			continue;
		} else if (stripped_line.begins_with("@tutorial")) {