### Godot version

4.0-rc1

### System information

Windows 10

### Issue description

The code: `@export @onready var camera_system : Node3D`

Is throwing: `Line 5:The "@onready" annotation will make the default value to be set after the "@export" takes effect and will override it. (Warning treated as error.)` and is crashing the game.

Unchecking "Treat Warning as Errors" seems to have no effect:

![imagen](https://user-images.githubusercontent.com/248383/217900756-8e214c40-68fb-4fb2-8509-a1e689725930.png)

![imagen](https://user-images.githubusercontent.com/248383/217901253-3b758ebc-48e9-40fe-8d77-16fce7cbae88.png)


### Steps to reproduce

- Write `@export @onready var some_var : Node3D`
- In Project Settings, uncheck `Treat Warning as Errors`
- Try to run the project, a `Parser Error` will be thrown.

### Minimal reproduction project

It's as simple as adding one line of code, so I'm not sure a MRP is needed.
if (key == nullptr) {
						push_error(R"(Expected expression as key for dictionary pattern.)");
					}
					if (match(GDScriptTokenizer::Token::COLON)) {
						
						PatternNode *sub_pattern = parse_match_pattern(p_root_pattern != nullptr ? p_root_pattern : pattern);
						if (sub_pattern == nullptr) {
							continue;
						}
						if (pattern->rest_used) {
							push_error(R"(The ".." pattern must be the last element in the pattern dictionary.)");
						} else if (sub_pattern->pattern_type == PatternNode::PT_REST) {
							push_error(R"(The ".." pattern cannot be used as a value.)");
						} else {
							pattern->dictionary.push_back({ key, sub_pattern });
						}
					} else {
						
						pattern->dictionary.push_back({ key, nullptr });
					}
				}
			} while (match(GDScriptTokenizer::Token::COMMA));
			consume(GDScriptTokenizer::Token::BRACE_CLOSE, R"(Expected "}" to close the dictionary pattern.)");
			break;
		}
		default: {
			
			ExpressionNode *expression = parse_expression(false);
			if (expression == nullptr) {
				push_error(R"(Expected expression for match pattern.)");