### Godot version

4.0.3, 4.1-dev1, 4.1-dev2

### System information

Windows 11, ASUS Zephyrus G14 2022, Ryzen 9, Radeon 6700S

### Issue description

If you create a custom class script and extend it in a custom sub class script using GDScript, override `_init()` in the sub class but not in the parent class, and then call `super()` in the sub class, it will run fine in the editor or if exported with the debug template. However, if you export a release build, the `super()` call will induce a script error.

I think the bug is that the debugger should throw an error in this case. Trying the same with methods like `_ready` for classes extending nodes or even `_to_string` for a RefCounted class and running in the editor will cause a script error to be caught by the debugger.

In editor:
![debug](https://github.com/godotengine/godot/assets/125445387/f6da77c5-c9d3-4bb9-a4b0-80d2f9218033)

Release build:
![release_error](https://github.com/godotengine/godot/assets/125445387/73a9d098-7c3b-45e4-8761-e3f40ffd3bc9)


### Steps to reproduce

Create two classes
ClassTwo extends ClassOne
ClassTwo overrides virtual method _init() (**ClassOne does not**)
ClassTwo calls super() in _init()
No error in debug/editor
Error in release

### Minimal reproduction project

N/A
push_error(vformat(R"(Argument %d of annotation "%s" isn't a constant expression.)", i + 1, p_annotation->name), argument);
			return;
		}
		Variant value = argument->reduced_value;
		if (value.get_type() != argument_info.type) {
#ifdef DEBUG_ENABLED
			if (argument_info.type == Variant::INT && value.get_type() == Variant::FLOAT) {
				parser->push_warning(argument, GDScriptWarning::NARROWING_CONVERSION);
			}
#endif
			if (!Variant::can_convert_strict(value.get_type(), argument_info.type)) {
				push_error(vformat(R"(Invalid argument for annotation "%s": argument %d should be "%s" but is "%s".)", p_annotation->name, i + 1, Variant::get_type_name(argument_info.type), argument->get_datatype().to_string()), argument);
				return;
			}
			Variant converted_to;
			const Variant *converted_from = &value;
			Callable::CallError call_error;
			Variant::construct(argument_info.type, converted_to, &converted_from, 1, call_error);
			if (call_error.error != Callable::CallError::CALL_OK) {
				push_error(vformat(R"(Cannot convert argument %d of annotation "%s" from "%s" to "%s".)", i + 1, p_annotation->name, Variant::get_type_name(value.get_type()), Variant::get_type_name(argument_info.type)), argument);
				return;
			}
			value = converted_to;
		}
		p_annotation->resolved_arguments.push_back(value);
	}
}
void GDScriptAnalyzer::resolve_function_signature(GDScriptParser::FunctionNode *p_function, const GDScriptParser::Node *p_source, bool p_is_lambda) {
	if (p_source == nullptr) {
		p_source = p_function;