Combine lukewarm milk, 1 teaspoon of sugar, and yeast in a bowl. Whisk to dissolve the yeast. Leave for 5-10 minutes until foamy. In a separate bowl, combine the flour, 2 tablespoons of sugar, and salt.
Pour the yeast mixture into the bowl of a stand mixer fitted with a dough hook. Add in the egg, pumpkin puree, and vanilla. Add the dry ingredients. Mix on low speed until combined, and then increase speed to medium and mix for about 5 minutes until the dough is smooth.
Alternatively, you can use a large bowl and knead the dough using a wooden spatula and then by hand. Add butter, 1 cube at a time, and mix on medium for about 5 minutes until incorporated.
Place the dough in a greased bowl. Cover the dough with plastic wrap and let rise in the fridge for 8 hours or preferably overnight. For the filling, in a small bowl, combine the brown sugar, cocoa powder, cinnamon, and flour. Pour in vanilla and melted butter. Stir to combine.
Grease a 9x5 loaf pan. Set aside.Place the dough on a lightly floured surface. Knead for a short while. Roll the dough out to a large rectangle. Spread the cinnamon filling, leaving the dough bare around the edges. Top with chopped hazelnuts.
Roll up the dough tightly to form a log. Using a sharp knife, cut the log longwise, leaving the last inch of the dough intact on one end. Braid the 3 strands all the way to the end and seal the end. Carefully transfer to prepared loaf pan. Cover loosely with plastic, and let rise for 30-40minutes or until almost doubled in size.
Preheat oven to 350°F. Make the streusel topping. In a small bowl, mix together the brown sugar, flour, and cinnamon. Add in pieces of cold butter. Mix with a fork until crumbly. Set aside.
After the dough finishes rising, sprinkle the streusel topping and hazelnuts over the loaf. Bake for 40-45 minutes until golden brown. Allow the loaf to cool in the pan for 15 minutes, then transfer to a wire rack to cool completely before slicing.