The transition from not-Combat to Combat happens when the DM says it does. It doesn't have to happen on "turn boundaries".
Turn boundaries are an abstraction to keep combat simple.
Someone with the alert feat cannot be surprised (well, except by a plot twist or the like, but they still get to roll initiative). And entering combat doesn't happen with no reason.
You are the DM, but you should respect the alert feat. There is nothing you are allowed to do that surprises an alert PC (in the sense that someone else acts while the PC doesn't get a chance to beat them to it).
At the same time, subtle spell means that the sorcerer is not doing anything detectable to cast the spell.
Which leaves the spell.
If the spell has no visible effects, it isn't detected. But hold person does.
Combat is about to begin because someone is being held. That is the first hostile act detected.
Start combat as that starts to happen, but before the save is resolved.
Tell the player "you feel your muscles start to tighten and lock up. You cannot see a cause." then roll initiative.
If the sorcerer wins, they must make a saving throw or be held. If the player wins, they get to act before they have to make a saving throw. If they break line of sight, gank the sorcerer, drink a potion of freedom of movement, or whatever -- they bypass the threat.
Combat has begun after the spell starts to land, and before the saving throw. This is normally a period of time that combat skips over.
If the player isn't a target, have them roll an insight check to see if the person who is targeted is starting to lock up. Failing that, they feel the situation is funny and dangerous, but not why.
Similarly, you can start combat with arrows in the air, a knife being stabbed, etc.