### 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.
}
						while ((start_pos < end_pos) && ((l_gl[end_pos].flags & GRAPHEME_IS_SPACE) == GRAPHEME_IS_SPACE || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_HARD) == GRAPHEME_IS_BREAK_HARD || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_SOFT) == GRAPHEME_IS_BREAK_SOFT)) {
							end_pos -= l_gl[end_pos].count;
						}
						trim_next = false;
						if (last_end <= l_gl[start_pos].start) {
							lines.push_back(l_gl[start_pos].start);
							lines.push_back(l_gl[end_pos].end);
							last_end = l_gl[end_pos].end;
						}
					} else {
						if (last_end <= line_start) {
							lines.push_back(line_start);
							lines.push_back(l_gl[i].end);
							last_end = l_gl[i].end;
						}
					}
					line_start = l_gl[i].end;
					prev_safe_break = i + 1;
					last_safe_break = -1;
					width = 0;
					continue;
				}
			}
			if (p_break_flags.has_flag(BREAK_WORD_BOUND)) {
				if ((l_gl[i].flags & GRAPHEME_IS_BREAK_SOFT) == GRAPHEME_IS_BREAK_SOFT) {
					last_safe_break = i;
					word_count++;
				}
				if (p_break_flags.has_flag(BREAK_ADAPTIVE) && word_count == 0) {