In a large mixing bowl, whisk the flour, sugar, and salt together until combined. You can use the bowl of a stand mixer or if doing by hand a large mixing bowl and whisk will work.
In a small sauce pan, melt the butter and warm the milk together. Remove from heat and whisk the yeast into the milk mixture.
Mix the milk mixture into the dry. If using a stand mixer, use the dough hook and start on slow speed until incorporated. Once incorporated, add the egg until combined. Then increase to medium speed for 5 minutes until a sticky dough ball begins to form. If mixing by hand, mix the wet into the dry ingredients using a rubber spatula until dough forms. Once incorporated, add the egg until combined. Continue kneading by hand until sticky dough ball begins to form. About 10 minutes.
Move dough to floured surface, with floured hands, and knead 10-12 times more. Set aside.
Make the filling by melting the butter in a small sauce pan, then stir the chocolate into the butter gently melting it over low heat being careful not to burn it. You can turn heat off if you are worried about burning the chocolate and slowly stir in the chocolate pieces until they are completely melted.
Once chocolate and butter are melted, remove from heat and stir in brown sugar, cinnamon and chopped hazelnuts. Set aside.
Using flour for dusting as needed, roll out dough to rectangle that is about 7in by 21in.
Spread filling all over top of dough rectangle. Then roll into a log and cut into 12 rolls.
Place rolls into a pan prepared with butter or non-stick spray. Let rise, covered with a kitchen towel, for 20 minutes. Preheat oven to 350°.If making ahead of time, cover with plastic wrap and let rise in the fridge overnight. Remove from fridge 15 minutes before baking.
Bake cinnamon rolls for 20-25 minutes until golden brown on tops and centers are set.
While the cinnamon rolls are baking, make the frosting by whisking together the cream cheese, powdered sugar and milk. Set aside.
After cinnamon rolls are finished baking, let cool 5 minutes, then top with frosting and serve warm.