### 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.
PackedInt32Array words;
	const_cast<TextServer *>(this)->shaped_text_update_justification_ops(p_shaped);
	const Vector2i &range = shaped_text_get_range(p_shaped);
	int word_start = range.x;
	const int l_size = shaped_text_get_glyph_count(p_shaped);
	const Glyph *l_gl = const_cast<TextServer *>(this)->shaped_text_sort_logical(p_shaped);
	for (int i = 0; i < l_size; i++) {
		if (l_gl[i].count > 0) {
			if ((l_gl[i].flags & p_grapheme_flags) != 0) {
				if (word_start != l_gl[i].start) {
					words.push_back(word_start);
					words.push_back(l_gl[i].start);
				}
				word_start = l_gl[i].end;
			}
		}
	}
	if (l_size > 0) {
		if (word_start != range.y) {
			words.push_back(word_start);
			words.push_back(range.y);
		}
	}
	return words;
}
CaretInfo TextServer::shaped_text_get_carets(const RID &p_shaped, int64_t p_position) const {