In a small bowl, combine the poppy seed, garlic and onion. Set aside.
Add the butter and onion to a skillet and cook over medium heat until the onions are tender. Set aside.
In a large bowl whisk together the water, yeast and sugar. Let set for a few minutes until it begins to froth up.
Mix in the salt, olive oil and onion. Slowly stir in the flour until combined. Add more flour if needed, to create a soft dough that isn’t too sticky. Cover and let rise in a warm place until nearly doubled in size, about 45 minutes to 1 hour depending on the temperature.
Turn the dough out onto a floured surface and knead a few times to lightly coat the outside with flour and remove any stickiness. Form the dough into a loaf, or if braiding, cut into 3 even pieces.
Roll each piece into a long strand and then braid together. Place on a greased baking sheet, or in a 10 to 12-inch Dutch oven (circle the dough around the oven).
Cover with a towel and let rise again about 30 – 45 minutes.
Whisk the egg and water together in a small cup. lightly brush the top of the loaf with the egg mixture. Top with the poppy seed mixture.
Bake in a preheated oven at 375 degrees F for about 40 minutes or until the top is a light golden brown and the bread sounds hollow when tapped. Serve warm or at room temperature.