### 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
r_return_type = type_from_property(p_info.return_val);
	r_default_arg_count = p_info.default_arguments.size();
	r_vararg = (p_info.flags & METHOD_FLAG_VARARG) != 0;
	r_static = (p_info.flags & METHOD_FLAG_STATIC) != 0;
	for (const PropertyInfo &E : p_info.arguments) {
		r_par_types.push_back(type_from_property(E, true));
	}
	return true;
}
void GDScriptAnalyzer::validate_call_arg(const MethodInfo &p_method, const GDScriptParser::CallNode *p_call) {
	List<GDScriptParser::DataType> arg_types;
	for (const PropertyInfo &E : p_method.arguments) {
		arg_types.push_back(type_from_property(E, true));
	}
	validate_call_arg(arg_types, p_method.default_arguments.size(), (p_method.flags & METHOD_FLAG_VARARG) != 0, p_call);
}
void GDScriptAnalyzer::validate_call_arg(const List<GDScriptParser::DataType> &p_par_types, int p_default_args_count, bool p_is_vararg, const GDScriptParser::CallNode *p_call) {
	if (p_call->arguments.size() < p_par_types.size() - p_default_args_count) {
		push_error(vformat(R"*(Too few arguments for "%s()" call. Expected at least %d but received %d.)*", p_call->function_name, p_par_types.size() - p_default_args_count, p_call->arguments.size()), p_call);
	}
	if (!p_is_vararg && p_call->arguments.size() > p_par_types.size()) {
		push_error(vformat(R"*(Too many arguments for "%s()" call. Expected at most %d but received %d.)*", p_call->function_name, p_par_types.size(), p_call->arguments.size()), p_call->arguments[p_par_types.size()]);
	}
	for (int i = 0; i < p_call->arguments.size(); i++) {
		if (i >= p_par_types.size()) {