Tangzhong: In a small pot, add in the water and bread flour, and whisk well until combined. Place the pot onto the stove over medium and whisk continuously until it forms a thick paste. Set aside to cool completely.
Dough: In a stand mixer, add in all the dough ingredients and set the mixer on high for 15 minutes (remember to scrap down the side periodically) or until a dough ball has formed and is peeling away from the sides of the bowl. Transfer the dough into a lightly oiled bowl, cover and set aside to proof for 1 hour or until doubled in size.
Cream Cheese filling: In a bowl, combine all the cream cheese filling ingredients and mix well until combined. Transfer into a piping bag and cut the tip.
Dough: Once proofed, punch the dough to knock out the air, transfer the dough onto a lightly floured surface and divide into 8 even pieces. Working with 1 piece at a time, roll out the dough into a long rectangle. Pipe a line of the cream cheese filling on top of the rolled out dough and sprinkle in some mozzarella cheese. Fold the dough over the filling and roll into a long snake, make sure to pinch the seal shut so that the filling does not burst in the oven. Fold the snake into a knot. Place the knot onto a lined baking sheet with a puddle of cheese on the bottom of each knot. Repeat with the remaining dough and let proof for 30 minutes. Pre-heat your oven to 170C/340F.
Garlic Butter: combine all the ingredients into a bowl and mix well. Set aside.
Baking: Brush over each knot with milk and then bake for 20-25 minutes or until golden brown. Once baked, brush over each knot with the garlic butter immediately while warm so it can soak up the butter.