The whole thing hinges on concepts and definitions. The way to solve a problem is to first fully define it. Then, develop solutions using concepts. The definition is, we want to separate 4 digits into 2 sets of 2 digits.
In coding there can be almost infinite ways to express a solution. But a good starting point for a beginner is an expression that most closely follows a mathematical one. For many reasons.
I saw an example of this in someone else's post, did it not work? Or, are you unsure how it works?
A unique difference between a character string e.g. "1234" and a number, is that it is computationally faster to manipulate them than with a decimal representation of a digital number, 1234. With strings (char arrays) it is only a matter of moving characters. In this case you are already off the hook because it is a user entered string.
However, I recommend analyzing the input string before converting it to a number. If it has invalid characters, e.g. "12P4" some numeric conversions will produce an invalid result, and sometimes with an error, but often checking the error is optional and some coders don't bother.
Also, if you are entering a time of day, do you really want to try and process the number 4321 for example?
Note that the Serial class has a read() method, so you can read the four digits in, one at a time, using the available() method to check first to see (you guessed it) if there are any characters available.
chatGPT probably chose parseInt() because among probably complex reasons, that many people use it for input. Also that it bypasses the need for programmed solutions. Remember, AI is a mimic.