If your buns are doughy they are probably underbaked. While 18 minutes sounds reasonable for small buns, you should be flexible about baking time. Ovens run slightly too hot or cold, different pans heat up faster and slower, and your buns may be slightly larger or smaller than the ones in the recipe.
The best way to check for doneness of bread is by temperature. After 18 minutes, use an instant-read thermometer to make sure the interior of your buns reaches at least 88°C (190°F). If they have not reached this temperature, simply return them to the oven for a few minutes longer.
It is also essential to let bread cool almost completely before cutting it open. As it cools down, it continues to set a little; if you cut too soon, steam will escape and leave a gummy texture. I recommend cooling 30 minutes on a wire rack.
Proper baking and cooling will make a huge difference for your buns, but you bring up two other issues we can address. In terms of the yeasty flavor, I think fixing the underbaking problem should remedy this as well. Raw dough can certainly have a yeasty note to it, but fully baked dough should smell and taste better. (It is possible to get off notes from overfermented bread, even fully cooked, but this should not be an issue with your relatively short rising times.)
For the issue of leaving space to grow, I suspect this is at most an aesthetic issue, but it is hard to tell how big a problem it is without a photo. As long you bake long enough your bread will cook. Using a correctly-sized pan effects shape more than anything else: closely packed together, you will get a batch bake where adjacent buns stick together; more spaced out you will get individual buns which are not connected and brown on all sides. Either format is suitable for milk buns.