To make the dough, in a large bowl, whisk together the flour, sugar, salt, and yeast. Add the warmed milk, egg yolk, vanilla and butter. Attach the dough hook and knead on low until the dough comes together. Raise the speed to high and knead until smooth and the dough comes away from the sides of the bowl, about 5 minutes. Transfer to an oiled bowl, cover with plastic and a damp kitchen towel and allow to rise until doubled in size, about 1 hour.
To make the cream cheese frosting, beat the cream cheese, sugar, lemon juice, and vanilla until smooth and creamy. Set aside.
To make the guava filling, combine the guava paste, hot water, vanilla, cinnamon and cardamom until smooth and spreadable. If the mixture is hard to mix, you can add a tablespoon or two more of hot water. Or you can also heat in the microwave for short 30 second bursts until smooth. Reserve 1/4 cup of this mixture for the frosting and set aside.
Once the dough has risen, transfer to a lightly floured work surface. Roll out into a large rectangle about 1/4-inch thick. Spread out the cream cheese filling in an even layer. Top with the guava filling and spread out evenly.
Roll the dough, lengthwise, into a tight log and pinch the seam together to seal. Cut into 12 even slices, using a piece of unflavored dental floss. This makes it super easy to slice! Arrange onto a 9x13-inch baking pan. Cover loosely with plastic wrap and a kitchen towel and allow to rise until doubled in size, about 1 hour.
Preheat oven to 350°F.
Once the rolls have risen, uncover and bake until golden brown, about 25 to 30 minutes. Remove from the oven and allow to cool.
For the glaze, in a medium bowl, combine the powdered sugar, salt, vanilla, and the reserved 1/4 cup guava filling. Add as much of the milk as needed to create a smooth spreadable glaze. Spread this onto the warm rolls, serve and enjoy!