In the bowl of an electric mixer (I used a 6qt Kitchenaid), combine warm water, yeast and 1 tablespoon sugar. Mix well and let stand for 5 minutes to proof the yeast. You’ll see small bubbles forming on top.
Slowly add milk, eggs, oil, sugar, 3 cups flour*, and salt. Mix using the paddle attachment (speed no. 2) for a few seconds or until the ingredients are well combined.
Switch to the dough hook and add 2 ½ cups of flour (reserve ½ cup). Mix until the flour is well incorporated. Add 1 tablespoon at a time of the reserved flour until the dough is no longer sticky. You don’t need to add all the extra flour. Knead for 5 minutes or until smooth then form the dough into a ball. Dough will be soft but not sticky.
Spray the bowl with cooking spray (you can use oil) and place the dough, then spray a little bit more oil on top of the dough. Cover with plastic wrap and let rise for an hour or until double in size.
Make the filling: Combine the softened cream cheese and powdered sugar. Stir gently with a spatula and mash any chunky bits of cheese, if any. Add ube flavor and mix very well to combine.
Punch the dough and divide in half. Roll each (do it one at a time) into a thin rectangle then spread half of the filling evenly on top, leaving an inch at the bottom and sides and about 2 inches on top (the end farthest from you). Roll like a jelly roll by lifting the dough as you roll to prevent the filling from sticking to your fingers. After the first few turns, you don’t need to lift the dough. Once you reach the end, pinch the edges very well to prevent the dough from opening up. Each roll's diameter is about 2 inches and makes 12-14 pieces.
Cut into 1 inch pieces and lay cut-side down on a baking pan lined with silicone mat or parchment paper (I used two 12x18 inch pans) leaving an inch of space in between. You can also use two 9x13 inch pans, dividing each dough into 12 rolls. Cover with plastic wrap and let rise for 30 minutes. Repeat with the remaining dough.
Preheat the oven to 325F. Remove the plastic wrap and bake in the middle of the oven for 18-20 minutes or until tops are starting to brown and bottoms are lightly browned. Remove from the oven and bake the remaining rolls. You can bake both pans at the same time if you’re using two 9x13 inch pans.
Store leftovers in an airtight container.