First, make the dough: in the bowl of a freestanding electric mixer fitted with a paddle attachment, combine 3 1/2 cups all-purpose flour, 3 tablespoons granulated sugar, 1 tablespoon instant yeast, 1/2 teaspoon baking soda, and 1 teaspoon kosher salt. Mix on low for 10 or so seconds until combined. In a large liquid measuring cup, whisk together 1 cup buttermilk, 1/4 cup canola oil, and 1 large egg. Add to the dry ingredients all at once and mix just until the mixture becomes sticky and comes together. Swap the paddle attachment out for the dough hook and mix on low speed for 10 minutes, until the dough is smooth and elastic.
Transfer the dough to a greased bowl, cover with plastic wrap, and keep in a warm place until the dough has doubled in size, about 1 1/2 hours.
As the dough is rising, prepare the chocolate filling: in the bowl of a food processor, pulse 8 ounces dark chocolate until it is very finely chopped and partially powdery. Add 1/4 cup butter and pulse until the butter is evenly distributed. Add 1/4 cup brown sugar, 3/4 teaspoon ground cinnamon, and a pinch of kosher salt and process until evenly distributed — the final product should resemble clumps of cookie crumbs. Set aside until the dough is ready.
Once the dough has doubled in size, tip the dough out on to a lightly floured surface and use a rolling pin to roll it out into a 10 by 20-inch rectangle — 20-inches will seem really long, but I promise that it's the secret to really attractive rolls. Sprinkle the chocolate filling evenly over the surface of the rectangle, making sure to go right up to the edges of the dough.
Coat a 10 or 12-inch cast iron frying pan generously with cooking spray. Working widthwise, roll the dough rectangle into a log, pinching the edges to seal. Use a serrated knife to slice the log into 10 rolls, each about 1 1/4-inches wide. Place the cut-side down on the prepared frying pan in a circle, with one bun in the middle for a 10-inch pan or three in the middle for a 12-inch pan. Cover with plastic wrap and let rise in a warm place until the edges of each roll are rounded and touching each other, 1 to 1 1/2 hours.
As the buns are rising, center a rack in the oven and preheat to 350 (F) and make the simple syrup. Combine 1/2 cup water and 1/2 cup granulated sugar in a small saucepan over medium heat. Whisk to dissolve the sugar and bring to a boil. Remove from heat and transfer to a wire rack to cool. Once the buns have finished their second rise, transfer to the preheated oven and bake for 30 to 35 minutes, until the edges of the buns are golden in color. If the tops of the rolls start to brown too quickly, cover with aluminum foil and continue baking until a skewer inserted into one of the center buns comes out clean. Let cool on a wire rack for 10 minutes, before using a pastry brush to brush each roll with a generous amount of simple syrup while the buns are still warm. It may seem like there is too much syrup for the buns, but be patient — let the syrup soak in before brushing again. Garnish with walnuts and confectioners' sugar and serve warm.