One Character, One Creature
My player considers his lower body to be the mount while his upper body as the rider.
The player is fishing for benefits where none are provided by the rules. A centaur is a single creature. He is not his own mount, and there is nothing in the rules to support this "consideration". Ruling in this player's favor gives him more actions than other characters, and throws the action economy balance out the window.
Mounts Are Separate Creatures
Controlling A Mount [...] The initiative of a controlled mount changes to match yours when you mount it. [...]
Initiative [...] If a tie occurs, the DM decides the order among tied DM-controlled creatures, and the players decide the order among their tied characters. [...]
One of the commonly overlooked aspects of mounted combat is the fact that they are two separate creatures with two separate "slots" in the initiative order (even if they're tied). The general rules do not permit interleaving of actions between creatures, even when two creatures have the same initiative score, and there's no special exception for mounted combatants. In other words, they do not go at the same time, they go sequentially. One creature must finish its turn before the other one can go.
A mounted character cannot ride his mount to a location, take his own actions, then ride the mount away. Only after the mount's turn has ended can the rider take a turn. Using the Ready action for "when my mount carries me within range" works, but restricts the rider to a single swing and uses both Action and Reaction.
Mounted Opportunity Attacks
As for provoking opportunity attacks, that's covered in the text, too:
Controlling A Mount [...] In either case, if the mount provokes an opportunity attack while you’re on it, the attacker can target you or the mount. [...]
This is an exception to the normal rule about movement not under your own power.
Opportunity Attacks [...] You also don't provoke an opportunity attack when you teleport or when someone or something moves you without using your movement, action, or reaction. [...]
A lance or the Disengage action serves to mitigate this problem:
With a lance, the character Readies an attack for when he gets in lance range (it has reach). The mount moves in, the readied action triggers, and the mount moves away. If the mount needs Dash to get there and get far enough away, this is the thing to do. Watch out for creatures with their own reach, of course.
Disengage still requires the rider to use a Ready action, but as quoted above, if the mount doesn't provoke, the rider doesn't either. This makes the target's reach irrelevant, but does mean the mount can't Dash.