Given the time and location he was in, he probably would have spoken Greek, but otherwise you're spot on.
Joseph wasn't a proper Roman citizen (Roman citizenship wasn't the exact same as modern concepts of citizenship), but he was a law-abiding taxpayer and the only reason why Jesus was born in the manger was because Joseph and Mary were traveling to attend a tax census.
As for the Flight into Egypt, a lot of people tend to forget that Egypt was part of the Roman Empire at the time of Joseph and Mary's flight, so they weren't immigrants or refugees, unless an American fleeing California and moving to Arizona because of a shitty local government counts as being a refugee.