### Godot version

4.2.dev [6588a4a]

### System information

N/A

### Issue description

While using `Button`s and when setting `text_overrun_behavior` to anything that adds ellipsis, they are drawn completely ignoring the outline values of the text. `Label` is able to do it correctly:

![image](https://github.com/godotengine/godot/assets/30739239/5154c841-479e-478b-aaa5-7b2e61876bed)

### Steps to reproduce

Create a `Button` and set `text_overrun_behavior` to anything that has ellipsis in it.

### Minimal reproduction project

N/A, trivially reproducible.
or3i(prev, p_text.length(), TextServer::DIRECTION_AUTO));
			}
		} break;
		case STRUCTURED_TEXT_FILE: {
			int prev = 0;
			for (int i = 0; i < p_text.length(); i++) {
				if ((p_text[i] == '\\') || (p_text[i] == '/') || (p_text[i] == ':')) {
					if (prev != i) {
						or3i(p
					}
					or3i(ON_LTR));
					prev = i + 1;
				}
			}
			if (prev != p_text.length()) {
				or3i(prev, p_text.length(), TextServer::DIRECTION_AUTO));
			}
		} break;
		case STRUCTURED_TEXT_EMAIL: {
			bool local = true;
			int prev = 0;
			for (int i = 0; i < p_text.length(); i++) {
				if ((p_text[i] == '@') && local) { // Add full "local" as single context.
					local = false;
					or3i(p
					or3i(ON_LTR));
					prev = i + 1;
				} else if (!local && (p_text[i] == '.')) { // Add each dot separated "domain" part as context.
					if (prev != i) {
						or3i(p