### Godot version

4.0.2.stable.official [7a0977ce2]

### System information

Windows 10

### Issue description

LineEdit node with enabled "expand_to_text_length" option and "minimum_character_width = 0" and cleared margins in style overrides still has some empty space inside
![node](https://github.com/godotengine/godot/assets/23380802/86c79678-8422-4a98-8406-602edd7dc48b)
![node settings](https://github.com/godotengine/godot/assets/23380802/11d04d71-bbf1-4c16-8155-fe39b5bbd66b)
![style overrides](https://github.com/godotengine/godot/assets/23380802/6b3c3925-b4bd-455b-aac1-ddeb54a4d796)


### Steps to reproduce

1. Add LineEdit node
2. Set expand_to_text_length = true
3. Set minimum_character_width in theme overrides = 0
4. Set normal to StyleBoxEmpty


### Minimal reproduction project

[LineEdit can't be zero sized.zip](https://github.com/godotengine/godot/files/11566017/LineEdit.can.t.be.zero.sized.zip)

if ((text.length() <= 0) || (caret_column == 0)) {
		return;
	}
	text = text.left(caret_column - 1) + text.substr(caret_column);
	_shape();
	set_caret_column(get_caret_column() - 1);
	_text_changed();
}
void LineEdit::delete_text(int p_from_column, int p_to_column) {
	ERR_FAIL_COND_MSG(p_from_column < 0 || p_from_column > p_to_column || p_to_column > text.length(),
			vformat("Positional parameters (from: %d, to: %d) are inverted or outside the text length (%d).", p_from_column, p_to_column, text.length()));
	text = text.left(p_from_column) + text.substr(p_to_column);
	_shape();
	caret_column -= CLAMP(caret_column - p_from_column, 0, p_to_column - p_from_column);
	if (caret_column >= text.length()) {
		caret_column = text.length();
	}
	if (!text_changed_dirty) {
		if (is_inside_tree()) {
			MessageQueue::get_singleton()->push_call(this, "_text_changed");
		}
		text_changed_dirty = true;
	}
}
void LineEdit::set_text(String p_text) {