Hello! Looking this over, there are a couple interesting questions you have here. I'll comment on each below:
"(How long is the learning process)?"
Personalization as opposed to A/B testing is not a fixed-length single assessment. Personalization is
continuously-improving, and perpetually applied, meaning that it will continue learning and assigning values to users as long as its run. While the rate of learning and experimentation changes over time, the generally suggested timeframe
is at least 14 days to have given the alternative values enough time to have been explored multiple times.
"what is the recommended time/level completion for users to be assigned into groups [...]?"
I don't have a particular answer to this, but if you are trying to determine a singular (or quantifiable) answer for this, you could try running A/B tests against a suitable metric to investigate this. What mechanism are you using to ensure users are not assigned a personalization value until this point? Are you using Remote Config [target] conditions, activation events or something else?
"Is it recommended to use a personalization test to tailor the difficult level of onboarding and early stages of users in the game?"
This is also something you can use testing to determine the efficacy of. Comparing users who have their difficulty set via personalization and those who don't, you could get some idea of how this does or does not optimize a metric of your choosing.