In a small pan, combine 6 tablespoons butter or margarine and 1 cup milk; heat to 110 degrees.
In a large mixing bowl, combine yeast, salt, 1/3 cup sugar, and 2 cups of the flour. Pour in warmed milk mix. Beat, scraping often, with an electric mixer on medium speed for 2 minutes. Blend in 2 whole eggs and 1 cup flour; beat on high for 2 minutes. With a spoon , beat in enough of the remaining flour to form a stiff dough.
Knead on a floured board till smooth, about 5 minutes. Place in a greased bowl, turn to grease top, cover, and let rise until doubled.
While dough is rising make streusel. Stir together 1/2 cup sugar and 2/3 cup flour. Mix in 3 1/2 tablespoons cold butter or margarine. Mix to get fine crumbs. Blend in 2 egg yolks with a fork. For chocolate streusel, mix 2 tablespoons cocoa powder with flour.
Punch dough down, turn onto floured board. Divide into 14 pieces. Shape each into a ball. Shape 7 into seashells. Squeeze 1/4 cup of streusel into a firm ball; and press over the top of each round. Score with slightly curved parallel lines to resemble a scallop shell. Roll remaining dough into 4 by 8 inch ovals. Top each with 3 tablespoons streusel. To make horns, roll oval from short end; stop half way, fold in sides, and finish rolling. Curl ends in to form a crescent. Place buns about 2 inches apart on a greased baking sheet. Cover lightly, and allow to rise until doubled, about 45 minutes. In a small bowl, beat together 1 egg and 2 tablespoons milk.
Brush buns with egg mixture. Bake at 375 degrees F (190 degrees C) until lightly browned, about 15 to 17 minutes.