Heat oven to 325ºF (163ºC) with rack set in middle position. Line an 8½ × 4½-inch loaf pan with parchment paper, leaving a 2-inch overhang on two sides.
Process 1 cups (135g) hazelnuts, 1 cup (200g) sugar, and ½ teaspoon salt in a food processor until finely ground into a wet-sand-like mixture, but not a paste, about 1 minute; scraping down sides and bottom halfway through and at the end.
Pulse 6 tablespoons (87g) butter into hazelnut mixture (12 pulses), then process until the mixture is smooth to touch but grainy looking and shiny, 3-4 minutes, stopping to scrape down sides of bowl halfway through.
Meanwhile, melt 2 ounces chocolate in microwave-safe bowl in microwave on half power in 30-second increments until melted and smooth.
Stir 1 ½ teaspoons cinnamon into melted chocolate; set aside. Chop remaining 2 ounces chocolate into small chunks; set aside.
Stream 3 eggs (150g) and ¼ cup (64g) buttermilk into batter and process 1 minute. Add 1 teaspoon vanilla extract and ¼ teaspoon almond extract; process to combine.
Add 1 cup (130g) whole-wheat flour, 1 ¼ teaspoons (6g) baking powder, ¼ teaspoon baking soda; pulse just until combined, about 8 pulses.
Transfer 1 cup of batter to bowl with melted chocolate. Measure out 2 tablespoons of chopped chocolate and set aside for topping. Fold remaining chopped chocolate into chocolate batter.
Pour half of plain batter into prepared loaf pan. Dollop half of chocolate batter over top. Swirl chocolate batter in with a knife. Pour remaining plain better over top and dollop with remaining chocolate; swirl.
Sprinkle 2 tablespoons chopped hazelnuts, 2 tablespoons chocolate pieces and 2 teaspoons sugar over top. Transfer to oven and bake until cake is tall, browned, and a toothpick inserted in the center comes out clean, 65–72 minutes.
Let cake cool in pan on wire rack for 15 minutes, then run a knife around cake and use parchment overhang to lift cake out of pan; transfer to cooling rack and cool completely.