In a stand mixer bowl, combine water, yeast, and 1 to 2 teaspoons of the sugar. Allow to sit for about 5 to 10 minutes or until the mixture becomes foamy.
Add the warm milk, the remaining sugar, the eggs, softened butter, salt, and the pandan flavor. Stir well until incorporated.
Add 2 ¼ cups of flour to the bowl. With the dough hook attached, run the mixer starting at low speed. Beat until the flour is moistened.
Increase the speed and gradually add the remaining 2 cups of flour to the bowl with the mixer running until the dough gathers in the center of the bowl.
Continue to beat until the dough has lost a lot of stickiness and is clinging to the dough hook. Scrape the bottom and sides of the bowl of dough.
If the dough is still too sticky, add the remaining ½ cup of flour gradually and continue to knead until the dough starts to gather in the center and cleans the sides of the bowl.
Lightly grease a working surface and your hands with cooking oil. Turn the dough over and knead it until it is smooth, elastic, and can stretch thinly.
Shape the kneaded dough into a ball and place in a bowl. Cover with plastic film or clean kitchen towel and let it rise for 1 ½ hours, or until doubled in size.
Gently deflate the risen dough. Shape it into a long log and divide into 24 pieces.
Take one portion and flatten it with your palms. Spoon about 1 to 1 ½ tablespoons of ube halaya in the center of the flattened dough.
Fold the edges toward the middle to cover the ube filling and shape the dough into a smooth ball. Press the end seams together to seal.
Carefully roll the pandesal in breadcrumbs until fully coated and arrange in a single layer on a parchment-lined baking pan. Repeat with the rest of the dough portions.
Cover the pan(s) loosely with plastic film or clean kitchen towel and allow the dough to rise for 1 hour or until puffy.
Bake in a preheated 350 F oven to 350 F for about 18 to 22 minutes, or until the top is lightly golden.