It's because Japan's metropolitan areas are very prosperous, and the Japanese are known as one of the world's largest consumers of luxury goods. According to the Japanese, most of them are very lacking in self-confidence, so they rely on world-famous brand-name clothing, watches, and jewelry to make themselves feel more confident. In the countryside, there are no big brands, so people have to go to the big city to buy them. In other words, does LZ want to be a village idiot or a city fashionista? On the other hand, the standard of living in the metropolis is definitely higher than the countryside (except for resorts). And the quality of education, healthcare and security in a big city is much better than in the countryside. So many people choose to move to the city for the sake of their future generations, but of course the medical facilities in the countryside are also very good, unlike our own country. So the Japanese mentality is one of the reasons why they prefer to move to the city. On the other hand, people may want to broaden their horizons, want to earn money in a big city, and feel honored to work in a big company in a big city, which is also a part of it.
These are my personal opinions, and some of them are from my teacher.