Is at used for a small town while in is used for a big city/country? Take the following examples:
I'm at home
I'm at Houston.
I'm in Texas
I'm in Ghana
Normally, you would say "in" a place or building. So "in Houston," which is in fact a large city rather than a small town. Size is irrelevant: you can idiomatically say, "I am in my apartment."
"Home" is an exception, perhaps because the word has connotations that extend beyond mere designation of places or buildings. Nor is the word limited to physical space. It may refer to situations. "I'm at home giving television interviews" means "I am comfortable giving television interviews."