Make the cupcakes: Preheat the oven to 350°F. Prepare two cupcake pans with 24 cupcake liners.
In a medium mixing bowl, whisk together the soy milk with the vinegar or lemon juice (this is your vegan buttermilk). Set aside for at least 10 minutes. In a separate, large mixing bowl or the bowl of your stand mixer fitted with a paddle attachment, add the flour, cocoa powder, sugar, baking soda, baking powder, salt, and espresso powder. Mix until combined. To your buttermilk, add the vegetable oil, sour cream, and vanilla. Whisk to combine. Add the wet mixture to the dry and mix until just barely combined. Add the warm water or coffee to the mixture, and mix until just combined. Do not overmix. Scrape the sides as necessary.
Distribute your cake batter evenly between the cupcake liners -- I use a 3 tablespoon scooper. Bake in the preheated oven for 16-20 minutes, until a toothpick inserted into the center of the largest cupcake comes out clean or with just crumbs. Allow the cupcakes to cool completely.
Make the whipped chocolate frosting: Add the flour and soy milk to a small bowl and and whisk well. Strain the mixture into a saucepan over medium heat and continuously whisk until the mixture thickens – it should look like pudding when it's ready. Remove from heat and whisk in vanilla extract. Pour back into the bowl and top with plastic wrap, pressing the plastic wrap directly onto the mixture (this will help ensure a skin doesn't form on top). Allow to cool completely.
Place the butter and sugar in a large mixing bowl or stand mixer fitted with a paddle attachment. Beat for 7-10 minutes, until very light and fluffy (be patient here, you want the mixture to be very whipped and the sugar to dissolve as much as possible). Scrape the sides as necessary. Continue to beat the butter mixture as you slowly add the cooled milk mixture to it (if your milk mixture isn't cooled completely, your frosting may curdle). Finally, add in the cocoa powder. Mix the frosting until it's light and fluffy, scraping the sides as necessary.
Frost the cupcakes: Place the frosting into a piping bag with a Wilton 2D tip (or tip of choice). Pipe a large rosette onto each cupcake.