Make the Cupcakes: Preheat oven to 350 degrees F. Line standard-size muffin pans with paper liners.
In a small bowl, whisk together the cocoa powder and hot water until smooth. In a separate medium bowl, whisk together the flour, baking soda, baking powder, and salt.
Combine the butter and sugar in a medium saucepan set over medium heat. Cook, stirring occasionally, until the mixture is smooth, and the butter is completely melted. Transfer the mixture to the bowl of an electric mixer and beat on medium-low speed until the mixture is cool, about 4 to 5 minutes.
Add the eggs one at a time, mixing well after each addition, and scraping down the sides of the bowl as needed. Add the vanilla and then the cocoa mixture, beating until smooth.
Reduce the mixer speed to low, and add the flour mixture in three additions, alternating with the sour cream, beginning and ending with the flour mixture. Mix each addition until just incorporated.
Divide the batter evenly between the prepared liners, filling each about two-thirds full. Bake until a toothpick inserted in the center comes out clean, 18 to 20 minutes, rotating the pans halfway through baking. Let cool in the pan for 10 minutes, then transfer to a wire rack to cool completely.
Make the Frosting: Beat together the butter and cream cheese on medium-high speed for 5 minutes (I like to use the whisk attachment for my KitchenAid stand mixer, but it's not necessary). Pour in the salted caramel and beat until combined. Reduce the speed to medium-low and slowly add the powdered sugar, a little at a time, until it has all been incorporated. Increase the speed to medium-high and beat for an additional two to three minutes, until light and fluffy.
To finish, pipe frosting onto the top of each cupcake (or use an offset spatula to spread the frosting), drizzle with some additional salted caramel sauce, and sprinkle with a pinch of fleur de sel. (Note: I used an Ateco #864 decorating tip to frost these cupcakes.)