### Godot version

v4.0.3.rc2.official [2ac4e3bb3]

### System information

Windows 10

### Issue description

It seems that joypad button numbers are changed in Godot 4. The Godot 3->4 conversion doesn't change the button numbers.

This Godot 3 Input Map:

![kuva](https://github.com/godotengine/godot/assets/49998025/86a7db2a-b5b5-48a3-84f9-999de1ed584a)

is converted to this:

![kuva](https://github.com/godotengine/godot/assets/49998025/30ef5803-0559-4408-b0ac-e878bf167ff7)

It seems that only buttons 0-3 are same in Godot 3 and 4:

![kuva](https://github.com/godotengine/godot/assets/49998025/37818929-9582-4a11-bdbe-617fd51dd501)


### Steps to reproduce

Convert any Godot 3 project having joypad buttons assigned to inputs.

### Minimal reproduction project

[conv_test.zip](https://github.com/godotengine/godot/files/11525027/conv_test.zip)

void custom_rename(Vector<SourceLine> &source_lines, String from, String to);
	Vector<String> check_for_custom_rename(Vector<String> &lines, String from, String to);
	void rename_common(const char *array[][2], LocalVector<RegEx *> &cached_regexes, Vector<SourceLine> &source_lines);
	Vector<String> check_for_rename_common(const char *array[][2], LocalVector<RegEx *> &cached_regexes, Vector<String> &lines);
	Vector<String> check_for_files();
	Vector<String> parse_arguments(const String &line);
	int get_end_parenthesis(const String &line) const;
	String connect_arguments(const Vector<String> &line, int from, int to = -1) const;
	String get_starting_space(const String &line) const;
	String get_object_of_execution(const String &line) const;
	bool contains_function_call(String &line, String function) const;
	String line_formatter(int current_line, String from, String to, String line);
	String simple_line_formatter(int current_line, String old_line, String line);
	String collect_string_from_vector(Vector<SourceLine> &vector);
	Vector<SourceLine> split_lines(const String &text);
	bool test_single_array(const char *array[][2], bool ignore_second_check = false);
	bool test_conversion_gdscript_builtin(String name, String expected, void (ProjectConverter3To4::*func)(Vector<SourceLine> &, const RegExContainer &, bool), String what, const RegExContainer &reg_container, bool builtin);
	bool test_conversion_with_regex(String name, String expected, void (ProjectConverter3To4::*func)(Vector<SourceLine> &, const RegExContainer &), String what, const RegExContainer &reg_container);
	bool test_conversion_basic(String name, String expected, const char *array[][2], LocalVector<RegEx *> &regex_cache, String what);
	bool test_array_names();
	bool test_conversion(RegExContainer &reg_container);
public:
	ProjectConverter3To4(int, int);
	bool validate_conversion();
	bool convert();
};
#endif 
#endif 
#endif