Place a medium pot over medium heat and add the blueberries, 1/4 cup granulated sugar, cornstarch, lemon zest, lemon juice, and almond extract if using. Stir continuously and bring to a gentle boil, breaking up the blueberries as they cook.
Cook the blueberry mixture for 5 to 10 minutes, stirring often, until thickened to a jelly-like consistency. Remove from heat and let cool completely.
In a large bowl, rub the zest from 1 large lemon into 1/2 cup granulated sugar with your fingers until well combined and fragrant.
Warm the milk to about 115°F, then pour it over the lemon sugar. Sprinkle the yeast over the top and let stand for 3 to 5 minutes until foamy.
Add the egg, egg yolk, and melted salted butter to the yeast mixture and whisk until smooth.
Add the bread flour and kosher salt, then stir with a sturdy spoon until a shaggy dough forms.
Transfer the dough to a lightly floured surface or use a stand mixer with a dough hook and knead for 8 to 10 minutes until the dough is smooth, elastic, and slightly tacky, adding a small amount of flour only if needed.
Lightly grease a large bowl with oil or nonstick spray, place the dough in the bowl, and turn once to coat. Cover with plastic wrap and a clean towel.
Let the dough rise in a warm place for 1 to 1 1/2 hours, or until doubled in size.
Lightly flour a clean work surface and turn the risen dough out onto it. Roll the dough into a 10-by-14-inch rectangle.
Spread the cooled blueberry filling evenly over the dough, leaving a 1/4-inch margin along one short side farthest from you.
Starting from the short side closest to you, roll the dough tightly into a log, ending at the clean margin. Pinch the seam to seal and place the log seam-side down.
Trim about 1/2 inch from both ends of the log and gently press the ends inward to create an even cylinder.
Using unflavored dental floss or a serrated knife, cut the log into 9 even slices, about 1 inch thick each.
Line a 9-inch round or square baking pan with parchment paper. Arrange the rolls in the pan, leaving a little space between them.
Cover the pan with plastic wrap and a towel and let the rolls rise in a warm place for 45 minutes to 1 hour, or until puffed and touching.
While the rolls rise, preheat the oven to 350°F.
Remove the covers from the pan and bake the rolls for 20 to 25 minutes, until the edges are golden brown and the centers are baked but still soft.
While the rolls bake, make the frosting by beating the softened cream cheese and softened unsalted butter together in a bowl until smooth.
Add the powdered sugar, lemon zest, and lemon juice and beat on low until combined, then increase to medium-high and whip for 1 to 2 minutes until light and creamy.
Spread the lemon cream cheese frosting over the warm rolls, covering the tops and allowing it to melt slightly into the spirals.
Serve warm. Once cooled, cover and refrigerate leftovers for up to 5 days and reheat gently before serving.