I can give my experience. China Bambina was a bit slow learning to talk. About 18 months. But by 24 months she was speaking complex sentences.
We live in Shanghai. Mom is Shanghaiese native speaker, but speaks a lot of Mandarin because of me. Most of the people around us are native Shanghaiese speakers. Nanny’s and maid usually come from other areas of China and speak Mandarin as a second language. I’m American and speak Mandarin as a second language and only a little Shanghaiese. Grandparents and other relatives speak Shanghaiese as a rule but can also speak mandarin.
China bambina learned real early: younger Chinese you speak Mandarin, older (grandparent age) speak Shanghaiese, cacausians speak English. She naturally switched between all three based on age and race long before she understood there was such a thing as language.
Around 3 years old, she figured out there were distinct languages and got a kick out of saying something to me in Shanghaiese, then asking in Mandarin if “daddy understood?”
She still will mix up nouns if the listener understands. So she will speak english and throw in Chinese words because she knows I understand. She does not do this on trips to the US.
Also, she is most fluent in Mandarin since that is the language of most people around her and pre school. English is second best thanks to Daddy and annual visits to the US. Shanghaiese is third, and she understands a lot but speaks little. Interestingly enough, she has plenty of Shanghaiese classmates that can barely understand Mandarin after several years of pre school.
China bambina speaks English fluently although some pronunciations are off and her vocabulary is not as rich. For example, she might say in English “please give me that thing” using “thing” if she doesn’t know the English word (but she will know the Chinese word). Most of her bad English pronunciation came from some american neighbor kids with 2 american parents and the kids spoke english baby talk and pronunciation. I’ve never used baby talk like ducky instead of duck. Christ, kid’s got enough challenges learning duck, yazi, and the shanghaiese pronunciation to also have to learn english baby talk. I’ve taught enough ESL to know I really hate common ESL problems like “dat” instead of 'that" and from the very beginning instilled in China bambina proper pronunciation.
The advice I got back in the beginning of parenthood was that the secret is one parent speaks one language 1:1. In a group context, switching languages to what the group speaks is not confusing. Otherwise, make a serious effort to speak only one language. The kids can’t differentiate why Daddy speaks English now and 5 minutes later Mandarin. In my experience that is really critical. In the early days it would have been much easier for me to speak Chinese, but then china bambina probably would not speak very good english.