One shouldn’t only take care with using historically-accurate full names in a book set in the past. Nicknames also fall under the banner of historical accuracy in onomastic matters.
Take the name Jessie. While the name Jessica has certainly existed for a lot longer than it’s been Top 100, odds are that someone called Jessie 50+ years ago probably didn’t have the legal name Jessica. Traditionally, Jessie has been a Scottish nickname for Jean. Many girls born in the earlier decades of the 20th century also had Jessie as their full, legal names.
The same goes for Jenny/Jennie. In the earlier decades of the 20th century, it was rather common to have this as one’s full, legal name. If it were a nickname, odds were the bearer’s full name was Jane, not Jennifer. Only at around midcentury, when the name Jennifer slowly began getting more common, would it be assumed to be a nickname for Jennifer.
Sally and Sadie seem rather old-fashioned nowadays, but originally they were both nicknames for Sara(h), not names in their own right. Of course, there were a fair number of girls who had those names as a legal given name.
There must be at least 20 nicknames for Elizabeth, and that’s not even counting the various nickname forms for foreign forms of the name (like Liisa and Liisu for Eliisabet, Elza for Elzbieta, and Liesje for Elisabeth). But some of those nicknames have fluctuated in popularity depending upon the era.
While most younger Elizabeths tend to go by Liz, Lizzie, or Beth, in the Thirties and Forties, Betty was the most common nickname, and Bess or Bessie was most common in the late 19th century and early 20th century. Betsy seems to have been most common as a nickname in the Sixties, though it was certainly also common in the 18th and 19th centuries. (BTW: It’s just an urban legend that Betsy Ross made the first American flag. It’s so annoying how some urban legends just refuse to die!) A 19th century Elizabeth might also have gone by something like Tetty, Lily, or Libby.
While I personally don’t mind Jack as a legal given name, traditionally it’s a nickname for John. It would be rather silly to have brothers named Jack and John. As an adult revisiting the All-of-a-Kind Family series, I found it a little weird how the golden firstborn boychild is named Charlie when there’s already a Charlotte. (Seriously, Papa acts like he won the lottery when his 6th child has outdoor plumbing, and the girls just accept second-class citizenship. Charlie deserves his own clothes and toys instead of hand-me-downs, just because he’s an almighty boy.)
BTW, I’d lay off using the name Jack altogether, given how overused it’s become for characters in recent years. I seriously say “Not ANOTHER Jack!” when I’m watching a movie or tv show and we meet the millionth and one Jack in the last 5-10 years. It’s so dull and generic at this point. Even John feels more original now!
Rob/Robbie seems like a more common nickname for Robert in modern times, while Bob/Bobby was more common 50+ years ago. I’d be really shocked to encounter a little boy named Bobby these days, or a guy my age called Bob. Bert/Bertie seems even more old-fashioned. The same goes for Will/Willie vs. Bill/Billy for William. Billy seems like a rather 1950s nickname, while Will seems more modern.
This is just based on my own observations, but it seems to me like people in general were a lot less nickname-happy prior to the modern era. I’d be shocked to hear of, say, a 19th century family planning a nickname before the birth, like choosing the name Arabella just so they can call their daughter Ella. I would also expect, e.g., a historical character named Amelia to go by her full name, not Amy or Mel, or an Allison to go by Allison and not Allie or Al.
The nickname Lexi/Lexy/Lexie strikes me as extremely modern. It would sound very silly to have a historic character named Alexandra, Alexandria, Alexandrine, Alexine, or Alexandrina going by Lexi.
And while there have always been people using nicknames as given names (even in the Top 100), like Bessie, Jessie, Jenny, and Jack, it still seems more common to have given a child a proper full name in the past, leaving nicknames as an option. As a child grows up, s/he can have the choice of growing into different nicknames, like Lizzie for a little girl vs. Liz for an adult, or Johnny for a little boy vs. Jack for an adult. I’d be really surprised to hear of a clergyperson who would’ve accepted a nickname-as-legal-name like Andy, Sam, Beth, or Katie.