Pour milk into a large glass measuring cup. Add butter and microwave on high, until the butter melts and the mixture is warmed to 110°F to 125°F (it should feel warm but not hot.) Start with 30 seconds, then microwave in 10-second intervals, until the desired temperature is reached. Once heated, pour into the bowl of a stand mixer fitted with a paddle attachment or a large mixing bowl.
Add white whole wheat flour, granulated sugar, egg, vanilla, yeast, salt, cinnamon, cardamom, and cloves.
Beat on low speed for 3 minutes, stopping occasionally to scrape down the sides of the bowl. Add 2 and 1/2 cups of all-purpose flour. Beat on low speed, until the flour is absorbed and the dough is no longer sticky, scraping down the sides of the bowl as you go. If the dough is very sticky, add more flour one tablespoon at a time, combining after each, just until dough begins to form a shaggy ball and pulls away from the sides of the bowl. It should still feel somewhat sticky and tacky.
If using a stand mixer, fit the mixer with a dough hook and knead on medium-low for 6 minutes, until smooth and elastic. If kneading by hand, turn the dough out onto a lightly floured work surface and knead until smooth and elastic, about 8 minutes. Add a little flour, one tablespoon at a time, if the dough is too sticky.
Lightly oil a large, clean bowl with cooking spray. Form dough into a ball and place it in the bowl, turning once to coat with oil. Cover bowl with plastic wrap or a clean kitchen towel. Let rise in a warm, draft-free place until doubled in volume, about 2 hours.
Make the Filling
If using a chocolate bar, roughly chop the chocolate into chunks. In the bowl of a food processor fitted with a steel blade, place the chocolate, granulated sugar, brown sugar, cinnamon, cardamom, ground ginger, salt, black pepper, and cloves. Pulse until the chocolate is very finely chopped and some parts are powdery. Add the butter and pulse again, until the butter is evenly distributed throughout the chocolate. (If you do not have a food processor, chop the chocolate very finely, then stir in the sugar, spices, salt, pepper, and butter until you have a rough paste.) Add candied ginger and pulse a few additional times, just until barely combined. Set mixture aside.
Shape the Rolls
Once the dough has doubled, turn it out onto a well-floured work surface. (To test if the dough has completed rising, gently press it with your first two fingers; if the indentation remains, the dough is ready.) Roll the dough into a 16-inch x 12-inch rectangle (be sure to measure.) Sprinkle the filling evenly over the dough, leaving a 1/2-inch border uncovered on each side. It might seem like too much filling, but use all of it.
Starting at one of the long edges, roll the dough into a tight log, then tightly pinch the end to seal. Turn log so that the seam side is down, then carefully trim each end so that they are straight. (The end scraps can be baked separately in lightly greased ramekins.) Gently stretch and pat the log as needed so that it is 18 inches in length and roughly even in diameter. With a serrated knife, gently saw the log into 18 1-inch segments.
Lightly mist two 9 x 9-inch baking pans with cooking spray (a square 8 x 8-inch pan or round 9-inch pan will work as well.) Arrange the rolls in the pans, cut sides up, dividing the rolls evenly between each.
Cover the baking dishes with plastic wrap or a clean kitchen towel and let rise in a warm, draft-free place until doubled in volume, about 45 minutes. (It may take a bit longer but is worth the wait.)
Place rack in the center of your oven and preheat to 375°F. Bake rolls until the tops are golden and the centers reach 185°F to 190°F, 20-25 minutes. Check the rolls at the 15-minute mark—if they begin to brown too quickly, cover the pan with foil and continue baking until complete. Remove from oven and place pan on a cooling rack for 5 minutes.
Make the Glaze
Stir together the sifted powdered sugar, half and half, cinnamon, cardamom, and cloves. Once rolls have cooled 5 minutes, drizzle over the rolls using the tines of a fork or a small spoon, and serve warm.
TO MAKE AHEAD: In Step 4 of the Shaping the Rolls section, rather than let the rolls rise at room temperature, you can cover the pans loosely with plastic wrap lightly coated in cooking spray, then place in refrigerator to let rise overnight. Let rolls sit at room temperature 15 minutes before baking.