Prep. Preheat the oven to 400F. Line a large baking tray with parchment paper.
Make the dough. Whisk together the flour and salt in a large bowl. Add the milk, water, and oil to a small saucepan over medium heat; bring to a boil, and then immediately stir the milk mixture into the flour. Let the dough cool for 5 to 10 minutes. After that, mix in the egg until well-combined (this will take some elbow grease or you can use an electric mixer), and then stir in the cheeses. (Note that it’s normal for the dough to be gummy and sticky.)
Scoop out the dough. Use a 1-tablespoon scoop to measure out the dough, dropping the balls on the prepared baking tray and leaving about 1 to 1 1/2 inches between them. If you want them smoother, you can wet your finger and press down any bumps once they’re on the tray. (For more uniform bread, wet your hands and roll each 1-tablespoon dough portion into a ball, otherwise just scoop them onto the tray.)
Bake. Bake until the bread is puffed and golden, about 18 to 22 minutes.
Notes
Storage and Reheating: These are best eaten when they're still warm out of the oven, but you can store leftovers in an airtight container at room temperature for up to 2 days (or in the fridge for up to 5 days). I recommend reheating leftovers to re-crisp the outside; you can do this in a 375F oven for 5 to 7 minutes or in a 325F air fryer for 3 to 5 minutes.
Recipe Yield: This recipe makes 16 to 20 rolls. If you don't have a large baking tray, use 2 trays and rotate them once halfway through baking.