For the Dough: Combine the yeast, warm milk, vanilla extract, and sugar in the bowl of a stand mixer fitted with the dough hook attachment. Allow to sit for 2–5 minutes until the yeast dissolves. Add in the 2 cups of bread flour, salt, and egg, and mix to combine.
Gradually add the remaining flour, one cup at a time, until the dough begins to pull away from the sides of the bowl. Slowly mix in the softened butter, one piece at a time. Knead for 8–10 minutes until the dough passes the windowpane test. Cover and let proof in a warm place until doubled in size (about 1 to 1.5 hours).
Make the Almond Cinnamon Filling: In a medium bowl, mix together the softened butter, brown sugar, cinnamon, almond flour, salt, eggs, almond extract, and vanilla extract until completely combined and smooth.
On a lightly floured surface, roll the dough out into a 10×15-inch rectangle. Evenly spread the almond cinnamon filling over the entire surface. Starting with the long end, roll the dough tightly into a log. Slice into 12 equal rolls and arrange them in the prepared baking dish.
Cover the pan and let the rolls rise for about 30 minutes, or until puffy. While the rolls are rising toast the almonds. Preheat your oven to 350°F. Line a small baking sheet with parchment paper. Spread the sliced almonds onto the sheet pan and bake for 5–7 minutes until lightly golden brown and fragrant, watching closely so they don't burn. Set aside.
When the rolls are puffy, place in the oven and bake for 30 minutes until golden brown. Let the rolls rest for 5 minutes after removing them from the oven.
For the Icing: In a small bowl, whisk together the powdered sugar, heavy cream, vanilla extract, and almond extract until smooth. Drizzle the icing over the warm rolls and top with the toasted sliced almonds. Enjoy!