### 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)

return editable;
}
void LineEdit::set_secret(bool p_secret) {
	if (pass == p_secret) {
		return;
	}
	pass = p_secret;
	_shape();
	queue_redraw();
}
bool LineEdit::is_secret() const {
	return pass;
}
void LineEdit::set_secret_character(const String &p_string) {
	
	
	ERR_FAIL_COND_MSG(p_string.length() != 1, "Secret character must be exactly one character long (" + itos(p_string.length()) + " characters given).");
	if (secret_character == p_string) {
		return;
	}
	secret_character = p_string;
	_shape();
	queue_redraw();
}
String LineEdit::get_secret_character() const {
	return secret_character;
}
void LineEdit::select(int p_from, int p_to) {