Будинок = Дім. Almost.
Будинок = house/building
Дім = home/house/building
Building = будівля/будова/будинок/споруда.
Мій дім = My home (not "my house")
Мій будинок = My house (not "my home")
Білий дім = White House
Хата = Home. Little house, cottage. The interior living space of the house. "Заходь до хати" - "Come to the house" can be said even about the apartment.
БУДИ́НОК, нку, чол. 1. The building intended for housing. 2. Scientific, cultural, educational, household and so on. state institution, and a building where it is contained.
ДІМ, дому, чол. 1. The building, which is designed for housing or to accommodate different institutions; house. 2. Premises where living people; housing. 3. The premises, people who live in it, and their menage. 4. rare. Monarchs of one genus, consistently replaced by each other. Dynasty.
Yes, it is true, у and в are totally the same (same situation as with і, та and й for "and"). But в мене doesn't sound nice and is not even easy to say! Takes much less effort to say у мене. Imagine, if you have a word even starting with в, let's say, Віктор. "Victor has ..." -- "У Віктора є ...", go and try saying "В Віктора"!..
You are correct, if you have a word that starts with a vowel you would use в. For example, Олег (a common name) --> В Олега