Combine the water, honey, and yeast in the bowl of a stand mixer, and set aside for five minutes until the mixture is foamy. Add the milk and egg to the bowl, whisk gently to break the egg, then add the flour, salt, and melted butter. Using the dough hook, mix the dough on medium-low speed until a dough forms. You may need to use a spatula to combine the wet and dry ingredients. Turn the mixer up to medium and continue mixing for 10 minutes.
Shape the dough into a ball, place in an oiled bowl, and cover with plastic wrap.
Allow the dough to double in size at room temperature, about 1 hour. Alternatively, you can refrigerate the dough and allow it to rise for 8 to 12 hours. This is great if you want to make the dough ahead of time.
While the dough is rising, make the garlic butter. Combine the softened butter in a bowl with the garlic, herbs, and salt.
Once the dough has doubled, punch it down to deflate and roll out into about an 18x9-inch rectangle.
Spread the garlic butter over the entire surface of the dough and cover with the cheeses.
Cut the rectangle into 3 strips lengthwise, stack the strips on top of each other, and cut into 6 portions. You will have 18 rough squares of dough.
Lightly butter a 9x5-inch loaf pan and arrange the dough squares upright in the pan. Be sure to have the buttered sides facing inward at the ends of the loaf pan (dry dough side toward the pan).
Cover with plastic wrap and allow to rise for about 1 hour or until puffed and about doubled in size.
Heat the oven to 400°F.
Place the loaf pan on a baking sheet (to catch any garlic butter that may drip) and bake about 30 minutes or until golden. Remove from the oven and cool on a rack for 10-15 minutes before serving.