Grease two 8x4-inch loaf pans and set aside. In the bowl of a stand mixer, whisk together the flour, dry milk, sugar, and instant yeast.
Pour in about 1 1/2 cups of the lukewarm water and mix with the dough hook on low just until a shaggy dough forms, 1–2 minutes. If the dough is very dry, add more water a tablespoon at a time. Let the shaggy dough rest for 10 minutes (this short rest helps the flour hydrate).
Add the salt and softened butter. Knead on medium-low until the dough is smooth, elastic, and slightly tacky but not sticky, 6–8 minutes. If needed, adjust with a tablespoon of flour or water to reach the right feel.
Transfer the dough to a lightly oiled bowl, turning once to coat. Cover and let rise in a warm spot until noticeably puffy and about 1 1/2 to 1 3/4 times its original size, 50–75 minutes. Halfway through the rise, give the dough one quick set of stretch-and-folds to build structure (lift one edge up and over to the center on all four sides).
Turn the dough onto a lightly floured surface and divide into two equal pieces. Preshape each into a loose round, cover, and rest for 10 minutes to relax the gluten.
Shape each loaf: Pat one piece into an 8x12-inch rectangle. Fold the top third down and the bottom third up (like a letter), then roll tightly from the short end to create surface tension. Pinch the seam closed and tuck the ends under. Place seam-side down into the prepared pans. Repeat with the second piece.
Cover the pans lightly and let the loaves proof until the dough crowns about 1 inch over the rim, 35–55 minutes depending on room temperature. About 20 minutes before baking, preheat the oven to 375°F with a rack in the lower-middle position.
Bake the loaves for 28–32 minutes, rotating the pans once halfway, until deep golden and an instant-read thermometer in the center registers 205–209°F.
Turn the loaves out onto a rack right away and brush the tops with melted butter. Cool completely (at least 1 hour) before slicing for the cleanest cuts.