### 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.
real_t advance = 0.f;
						for (int j = 0; j < glyphs[i].count; j++) {
							advance += glyphs[i + j].advance;
						}
						real_t char_adv = advance / (real_t)(glyphs[i].end - glyphs[i].start);
						if ((glyphs[i].flags & GRAPHEME_IS_RTL) == GRAPHEME_IS_RTL) {
							_push_range(ranges, off + char_adv * (glyphs[i].end - end), off + advance);
						} else {
							_push_range(ranges, off, off + char_adv * (end - glyphs[i].start));
						}
					}
					
					if (glyphs[i].start < start && glyphs[i].end <= end) {
						real_t advance = 0.f;
						for (int j = 0; j < glyphs[i].count; j++) {
							advance += glyphs[i + j].advance;
						}
						real_t char_adv = advance / (real_t)(glyphs[i].end - glyphs[i].start);
						if ((glyphs[i].flags & GRAPHEME_IS_RTL) == GRAPHEME_IS_RTL) {
							_push_range(ranges, off, off + char_adv * (glyphs[i].end - start));
						} else {
							_push_range(ranges, off + char_adv * (start - glyphs[i].start), off + advance);
						}
					}
					
					if (glyphs[i].start < start && glyphs[i].end > end) {
						real_t advance = 0.f;
						for (int j = 0; j < glyphs[i].count; j++) {
							advance += glyphs[i + j].advance;
						}