Place warm water in the bowl of a stand mixer fitted with a dough hook OR a large bowl. Dissolve yeast in water and let stand 5 minutes until foamy.
Reserve 1 egg white from eggs for egg wash later. Place remaining eggs in a small bowl and lightly beat until smooth.
Mix honey, beaten eggs, and salt into yeast mixture until smooth. Add 4-1/2 cups flour to bowl and mix on low speed OR with a wooden spoon if making dough by hand until dough pulls away from sides of bowl, about 2 minutes of mixing (if dough seems a bit wet, add additional flour by the tablespoon until dough pulls away from sides of bowl)
If making dough in stand mixer, knead dough in mixer on low speed 5-7 minutes until dough is stretchy and elastic. If making dough by hand, turn dough onto a lightly floured surface and knead by hand until dough is stretchy and elastic, about 10 minutes of kneading.
Place dough in a greased bowl, turning once to grease top. Cover bowl with plastic wrap and let rise in a warm place at room temperature 1 to 1-1/2 hours until dough is doubled in size.
Line a large sheet pan with parchment paper. Punch risen dough down and turn onto a lightly floured surface. Divide dough into 4 pieces and roll each piece into an 18-inch rope. Lightly dust dough ropes with additional flour to prevent sticking.
Pinch ends of ropes together and begin braiding bread (refer to picture tutorial in blog post) Pinch ends of braid together and fold underneath loaf. Carefully transfer braided bread to prepared sheet pan.
In a small bowl, whisk reserved egg white with 1 tablespoon water until smooth. Brush bread with egg wash and top with sesame seeds or poppyseeds if using. Allow bread to rise in a warm place at room temperature 1 to 1-1/2 hours until doubled in size.
Preheat oven to 375F. Bake bread at 375F 30-35 minutes until bread is golden brown. Allow bread to cool on a wire cooling rack before slicing and serving. Enjoy!