There's other problems too: if you have a tiny dog in the city, you can put it in a carrier and bring it on the train/subway with you. You can't do that with a large dog, so you're barred from using trains, which means you have to drive when you want to go somewhere with your dog, or take a taxi ($$$$, assuming you can find one that allows the dog). A large portion of the population doesn't have a car, because it's very expensive to park it, and even if you do have one, where are you going to go? There's very little parking and it's expensive. So having a large dog is a huge restriction on your lifestyle.
Basically, a large dog in the city is a huge luxury and a status symbol, because it shows you're really rich. A small dog is also a luxury and status symbol, but it's much more affordable and doable for middle-class people.
They're also easier to entertain, especially because many people don't know how to entertain/exhaust their dogs without getting exhausted themselves. No, you're not supposed to run marathons with your dogs. It's much easier to train them to fetch stuff like frisbees and you can sit in a chair all day for all they care.