In a large bowl, stir the yeast and warm water together with 2 teaspoons of sugar.Mix in the evaporated milk, remaining sugar, melted butter, salt, egg, and half of the flour. Gradually mix in the remaining flour and cinnamon. Turn the dough onto a lightly floured work surface and knead until the dough is smooth and pulls together, 6 to 8 minutes. Put into a lightly greased bowl, turning once to coat both sides. Cover and allow to rise at room temperature until doubled in size, approximately 1 to 1-1/2 hours.
While the bread rises, make the topping. In an electric mixing bowl, beat the sugar and butter together until light and fluffy. Stir in the flour until it resembles a thick paste but is not crumbly. Divide into two bowls. Mix the cinnamon into one bowl and the vanilla into the other half. Set aside.
When the dough has risen, cut it into 12 even-sized pieces and shape them into balls. Place dough balls onto two parchment paper-lined (or greased) baking sheets, 3 inches apart. Pat flat and place circles of topping on top of each, patting down lightly. Use a knife to cut grooves into the topping like a seashell. Cover and let rise until doubled, about 45 minutes.
Preheat the oven to 375 °F. Bake until deep golden brown, 16 to 20 minutes.
This recipe was calculated using the exact brands and measurements I used to make this recipe. If you are following a strict diet please note changing anything will cause the nutritional info to change. My calculations are intended as a guide only.