In a large bowl, combine warm water, warm milk, and honey. Sprinkle the yeast over the top and let stand until foamy, about 5–10 minutes.
Stir in melted butter, rolled oats, and salt. Add 3.0 cups of the flour and mix until a shaggy dough forms. Add the remaining 0.25 cup flour as needed to make a soft, slightly sticky dough.
Knead on a lightly floured surface (or with a mixer and dough hook) until smooth and elastic, 8–10 minutes. The dough should be soft but hold its shape.
Place dough in a lightly greased bowl, cover, and let rise in a warm place until doubled in size, about 60–90 minutes.
Punch down the dough, shape into a tight loaf, and place seam-side down in a greased 9×5 inch loaf pan.
Cover and let rise until the dough crowns about 1.0 inch above the rim, 30–45 minutes. Meanwhile, preheat the oven to 375°F.
For a shiny crust, whisk the egg with 1.0 tbsp milk and brush over the loaf. Sprinkle with 2.0 tbsp oats if using.
Bake until deep golden brown and the internal temperature reaches about 190°F, 35–40 minutes. Tent loosely with foil if browning too quickly.
Cool in the pan for 10–15 minutes, then transfer to a wire rack to cool completely before slicing.
Notes
For instant yeast, skip the proofing step and mix it directly with the dry ingredients. This loaf freezes well: slice, wrap tightly, and freeze for up to 2 months. Toasting brings out great flavor the next day.