### 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.
BIND_ENUM_CONSTANT(CONTOUR_CURVE_TAG_ON);
	BIND_ENUM_CONSTANT(CONTOUR_CURVE_TAG_OFF_CONIC);
	BIND_ENUM_CONSTANT(CONTOUR_CURVE_TAG_OFF_CUBIC);
	
	BIND_ENUM_CONSTANT(SPACING_GLYPH);
	BIND_ENUM_CONSTANT(SPACING_SPACE);
	BIND_ENUM_CONSTANT(SPACING_TOP);
	BIND_ENUM_CONSTANT(SPACING_BOTTOM);
	BIND_ENUM_CONSTANT(SPACING_MAX);
	
	BIND_BITFIELD_FLAG(FONT_BOLD);
	BIND_BITFIELD_FLAG(FONT_ITALIC);
	BIND_BITFIELD_FLAG(FONT_FIXED_WIDTH);
	
	BIND_ENUM_CONSTANT(STRUCTURED_TEXT_DEFAULT);
	BIND_ENUM_CONSTANT(STRUCTURED_TEXT_URI);
	BIND_ENUM_CONSTANT(STRUCTURED_TEXT_FILE);
	BIND_ENUM_CONSTANT(STRUCTURED_TEXT_EMAIL);
	BIND_ENUM_CONSTANT(STRUCTURED_TEXT_LIST);
	BIND_ENUM_CONSTANT(STRUCTURED_TEXT_GDSCRIPT);
	BIND_ENUM_CONSTANT(STRUCTURED_TEXT_CUSTOM);
}
Vector2 TextServer::get_hex_code_box_size(int64_t p_size, int64_t p_index) const {
	int w = ((p_index <= 0xFF) ? 1 : ((p_index <= 0xFFFF) ? 2 : 3));
	int sp = MAX(0, w - 1);
	int sz = MAX(1, Math::round(p_size / 15.f));
	return Vector2(4 + 3 * w + sp + 1, 15) * sz;
}
void TextServer::_draw_hex_code_box_number(const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, uint8_t p_index, const Color &p_color) const {