Dissolve yeast in water in a large bowl. Stir in 2 cups flour, sugar, evaporated milk, lard, egg, cinnamon, and salt. Beat until smooth. Stir in enough of the remaining flour to make dough easy to handle.
Turn dough out onto a lightly floured surface. Knead until smooth and elastic, about 5 minutes. Place in a large greased bowl, then turn so greased side faces up. Cover and let rise in a warm place until doubled, about 1 1/2 hours.
Meanwhile, make topping dough. Beat sugar and butter together until light and fluffy. Stir in flour until mixture is the consistency of coarse crumbs. Divide into 2 equal parts. Stir cocoa powder into 1 part and vanilla extract into the other.
Divide chocolate topping into 4 small balls; roll each piece into a flat circle. Repeat for the vanilla topping.
Punch down concha dough and divide into 8 equal pieces. Shape each piece into a ball; placed on a greased baking sheet. Place a vanilla or chocolate circle on each ball of dough, smoothing it over the top. Make 5 or 6 shallow cuts across the circle to form a shell pattern. Cover and let rise until doubled, about 45 minutes.
Preheat the oven to 325 degrees F (165 degrees C).
Bake conchas until lightly browned around the edges, 15 to 20 minutes.