### Godot version

v4.1.stable.official [970459615]

### System information

Windows 11

### Issue description

Using `String::pad_zeros` on a string containing digits with greater length than the argument `digits` raises the error `Parameter count should be a positive number.` of `String::repeat`, because it is called with a negative parameter.
(Actually this error is not 100% correct, it should be non-negative)

4.0 Code:
https://github.com/godotengine/godot/blob/c8e0bd50c57de91c061866db1de407f2e7a74acd/core/string/ustring.cpp#L4127-L4155

Example: `"2023".pad_zeros(2)`
`begin == 0`
`end == 4`
`end - begin < p_digits == false` => No "0" is inserted, the string is returned unchanged.

4.1 Code:
https://github.com/godotengine/godot/blob/ce5c6151fc498b39fe0c188045a4685e0f627854/core/string/ustring.cpp#L4266-L4290

Example: `"2023".pad_zeros(2)`
`begin == 0`
`end == 4`
`zeros_to_add == 2 - (4 - 0) == -2`
=> `s.insert(0, String("0").repeat(-2))` is called => Error.

I don't know why this was changed, but I think ensuring that `zeros_to_add > 0` should be ensured internally and not by the user. If this condition is not fullfilled the string should be returned unchanged as in the 4.0 implementation.

### Steps to reproduce

Try my above mentioned example in 4.0 and 4.1

### Minimal reproduction project

Not necessary.
return (is_ascii_upper_case(c) ? (c + ('a' - 'A')) : c);
}
const char Char::_null = 0;
const char16_t Char16::_null = 0;
const char32_t ::_null = 0;
const char32_t ::_replacement_char = 0xfffd;
bool select_word(const  &p_s, int p_col, int &r_beg, int &r_end) {
	const  &s = p_s;
	int beg = CLAMP(p_col, 0, s.length());
	int end = beg;
	if (s[beg] > 32 || beg == s.length()) {
		bool symbol = beg < s.length() && is_symbol(s[beg]);
		while (beg > 0 && s[beg - 1] > 32 && (symbol == is_symbol(s[beg - 1]))) {
			beg--;
		}
		while (end < s.length() && s[end + 1] > 32 && (symbol == is_symbol(s[end + 1]))) {
			end++;
		}
		if (end < s.length()) {
			end += 1;
		}
		r_beg = beg;
		r_end = end;
		return true;
	} else {
		return false;
	}
}
bool Char16::operator<(const Char16 &p_right) const {