Dissolve sugar and yeast in warm milk in a large bowl; let stand 5 minutes.
Lightly spoon flour into dry measuring cups; level with a knife. Add 3 cups flour and egg to milk mixture, stirring until smooth; cover and let stand 15 minutes.
Add 3/4 cup flour and salt; stir until a soft dough forms. Turn the dough out onto a floured surface. Knead until smooth and elastic (about 8 minutes); add enough of the remaining flour, 1 tablespoon at a time, to prevent the dough from sticking to hands (dough will feel tacky).
Place the dough in a large bowl coated with cooking spray, turning to coat top. Cover and let rise in a warm place (85°), free from drafts, for 40 minutes or until doubled in size. (Press two fingers into the dough. If an indentation remains, the dough has risen enough.) Punch dough down; cover and let rest for 5 minutes.
Divide dough into 16 equal portions. Working with one portion at a time (cover remaining dough to prevent drying), shape each portion into desired form (see "Shaping Options"). Place shaped dough portions on each of 2 baking sheets lightly sprinkled with 1/2 teaspoon cornmeal. Lightly coat shaped dough portions with cooking spray; cover with plastic wrap. Let rise in a warm place (85°), free from drafts, 20 minutes or until doubled in size.
Preheat oven to 400°.
Gently brush dough portions with butter; sprinkle with poppy seeds, if desired. Place 1 baking sheet on bottom oven rack and 1 baking sheet on middle oven rack. Bake at 400° for 10 minutes; rotate baking sheets. Bake an additional 10 minutes or until lightly browned on top and hollow-sounding when tapped on bottom. Place on wire racks. Serve warm, or cool completely on wire racks.