George was not a foreign name. It was never used a regnal name before the Hannoverians, and they certainly popularized it... but it had actually been used before: George, the Duke of Clarence comes to mind... though I suppose he's not a technical prince, since his elevation in status was due to his brother becoming king. Clarence was also, ah... not well liked, so maybe be a reason why it didn't catch out.
Richard as a royal name has... iffy connotations because of Richard III. He literally kidnapped his nephews and murdered them to usurp the throne. John has a similar bad reputation, mainly because of John Lackland, who lost the Angevin holdings in France. Stephen isn't really part of English royal naming conventions: only Stephen of Blois comes to mind, and depending on who you ask, he was little better than a usurper as well.
For sons: Of the Stuarts, they were of course very fond of James, but also Charles: it's definitely possible Charles might get used more commonly, since there would be more positive connotations, instead of it just being associated with Charles I and his gloomy end. It'll probably be more popularized because of Charles II, a rakish rogue but nevertheless a sovereign who tried to do his best. Henry and Edward would likely still be popular naming choices, since they are good, traditional, English names, and also invoke the Tudor period. You could quite possibly see more unique names crop up: James II had a son who died young named Edgar. Perhaps Robert or even Alexander as an ode to their Scottish heritage could be used, too.
For daughters: Elizabeth and Mary, as you've said. Anne would likely be a good choice, but there are other options too: Margaret, Henrietta, Catherine/Charlotte, Sophia. Assuming the Stuarts remain Catholic, you have Maria as an option. Less common might be dual names: Maria Teresa, Henrietta Maria, Maria Anna / Marianna, ect. Some uncommon names might be those invoked from the earlier Stuart kings: Joan, Eleanor, Annabella.
They definitely were more willing to experiment in the 17th and into the 18th century: especially when you had kings that had massive families (George III comes to mind), it often meant getting creative with the names, allowing new names to slip into the royal lexicon, or in most cases... simply slipping out by the next generation. There's the possibility of using royal births to honor other monarchs or their supposed godparents; Victoria, for instance, was actually named Alexandrina Victoria... Alexandrina being for one of her godparents, Emperor Alexander of Russia, and Victoria after her mother. Her parents suggested additional names for the Prince-Regent, namely: Georgiana, Charlotte, and Augusta, but he nixed him. So little Alexandrina Victoria came to be. It would not be all remiss if perhaps there is a little Princess Louisa of Great Britain, perhaps named after the King of France who is her godfather.
Another thing is double or triple barreled names. I'm not sure where the trend picked up, but it was definitely used by the Hannoverians frequently: most princes and princes had two names, if not three. The Stuarts don't really do that; the only one who comes to mind is James VI/I (born James Charles) and then of course Henry Frederick (who likely would've reigned Henry IX had he not died earlier). James II and Charles II had just single names, and James' daughters with Anne Hyde had single names, too. His living son and daughter with Mary of Modena had triple names: James Francis Edward and Louisa Maria Theresa. The Old Pretenders son's also had fairly... involved names, too, similar to Spanish / Portuguese Infantes where they have dozens of names.