As long as we’re looking for logical and sensible theories, My experience has been that pregnant women always want to be with their mothers when giving birth.
People didn’t move far from their original homes in those days and Mary’s family might have been in the nearby Bethlehem.
The tax and birthplace story never made much sense. How would the census taker know that anyone was born in such and such a place many years before?
As you said, people didn’t move far in those days. Also, the local yokels were the ones doing the levying, and they had an incentive to get the job done right, namely, there were legal and financial penalties.
http://www.orlutheran.com/html/census.html
All those even vaguely familiar with Luke’s Christmas story have heard of Caesar Augustus and his famous decree. It was this decree that sent Mary in the ninth month of her pregnancy 80 miles south to Bethlehem, along with husband Joseph... The three censuses are listed in the Acts of Augustus, a list of what Augustus thought were the 35 greatest achievements of his reign. He was so proud of the censuses that he ranked them eighth on the list. The Acts of Augustus were placed on two bronze plaques outside of Augustus’s mausoleum after he died. The three empire-wide censuses were in 28 B.C., 8 B.C., and 14 A.D. In all probability the one in 8 B.C. is the one the Luke mentions in the Christmas story. Even though scholarship normally dates Christ’s birth between 4 and 7 B.C., the 8 B.C. census fits because in all likelihood it would have taken several years for the bureaucracy of the census to reach Palestine.