### Godot version

4.0.beta.11

### System information

windos10

### Issue description

Just touch 'godot' and make a demo while learning.
After `beta. 11` was released, I tested my Demo on the new version, and it flashed back frequently without any sign. I searched for a long time and didn't find the reason.




### Steps to reproduce

This code runs normally from `beta.5` to `beta.10`, and flashes back frequently and irregularly on `beta.11`.

## beta.11
![1](https://user-images.githubusercontent.com/78600221/211737226-5eafb3fc-8982-4562-acd7-2d769e065039.gif)

## beta.10
![22](https://user-images.githubusercontent.com/78600221/211738095-ec303429-abd9-4fc0-99b9-21347d69cd03.gif)




### Minimal reproduction project



append_opcode_and_argcount(GDScriptFunction::OPCODE_CALL_ASYNC, 2 + p_arguments.size());
	for (int i = 0; i < p_arguments.size(); i++) {
		append(p_arguments[i]);
	}
	append(p_base);
	append(get_call_target(p_target));
	append(p_arguments.size());
	append(p_function_name);
}
void GDScriptByteCodeGenerator::write_call_gdscript_utility(const Address &p_target, GDScriptUtilityFunctions::FunctionPtr p_function, const Vector<Address> &p_arguments) {
	append_opcode_and_argcount(GDScriptFunction::OPCODE_CALL_GDSCRIPT_UTILITY, 1 + p_arguments.size());
	for (int i = 0; i < p_arguments.size(); i++) {
		append(p_arguments[i]);
	}
	append(get_call_target(p_target));
	append(p_arguments.size());
	append(p_function);
}
void GDScriptByteCodeGenerator::write_call_utility(const Address &p_target, const StringName &p_function, const Vector<Address> &p_arguments) {
	bool is_validated = true;
	if (Variant::is_utility_function_vararg(p_function)) {
		is_validated = true; 
	} else if (p_arguments.size() == Variant::get_utility_function_argument_count(p_function)) {
		bool all_types_exact = true;
		for (int i = 0; i < p_arguments.size(); i++) {
			if (!IS_BUILTIN_TYPE(p_arguments[i], Variant::get_utility_function_argument_type(p_function, i))) {
				all_types_exact = false;