Line two baking sheets with parchment paper or silicone mats and set aside.
In the microwave or on the stove top, warm the milk and butter until the butter is melted. Cool to 120-130°F (very warm, but not too hot to touch).
Whisk in the sugar and yeast. Allow the mixture to sit until the yeast gets foamy, about 10 minutes.
In a stand mixer bowl (or mixing bowl), add the bread flour and salt. Whisk to combine. Create a well in the center. Add the egg and yeast mixture into the well. Using a paddle attachment (or wooden spoon), mix just until all of the ingredients come together. The dough will be sticky and rough looking at this point.
Cover the bowl with plastic wrap and let rise in a warm spot for 2 hours.
After two hours, gently punch down and fold the dough a few times right in the bowl. Form it into a ball and cover it again with plastic wrap. Let it rise for 1 hour.
Turn the dough out into a well-floured surface. Knead the dough by hand until a smooth ball forms.
Divide the dough into 8 equal-sized pieces and roll each piece into a ball.
With a rolling pin or your hands, roll each piece to a 5-inch circle. Place a piece of the pepperoni on top of the dough. Lightly brush the pepperoni with the olive oil. Sprinkle about 2 tablespoons of the cheese on top.
Fold the dough over the fillings and roll up like a burrito. Tuck and seal the ends under and pinch closed the seam side.
Place seam side down on lined baking sheets. Cover the rolls with plastic wrap and let rise for 30 minutes.
Preheat oven to 350°F while the rolls are rising.
Brush the tops of the rolls with the melted butter before baking.
Bake for 15 minutes and then rotate the pans. Bake for another 15 to 20 minutes, or until the rolls are golden brown.
Brush the rolls again with the melted butter when they come out of the oven.
Cut the rolls in half and stuff more cheese into the openings if desired. You can then place it in the microwave for a few seconds to melt it.
Enjoy them just like this, or dunk them in your favorite marinara sauce.