Preheat oven to 350°. In a large bowl, combine flour, sugar, baking soda, and salt. Set aside.
Bring Guinness and butter to a simmer in large saucepan over medium heat. Add cocoa powder and whisk until mixture is smooth. Cool slightly.
In the bowl of a stand mixer, beat eggs and sour cream. With the mixer running on low slowly add Guinness-chocolate mixture to egg mixture and beat until just combined. Add flour mixture and beat on medium-low speed until combined.
Divide batter among cupcake liners, filling them 2/3 to 3/4 of the way. Bake cake until toothpick inserted into center comes out clean, rotating them once front to back if your oven bakes unevenly, about 17 minutes. Cool cupcakes on a rack completely before frosting.
As a Bundt cake, oil the pan well and bake for 40 minutes. Stick a toothpick into the center to make sure the cake is done, cool before taking out of the pan.
In a mixing bowl, add in the cream cheese and butter. Mix until light and fluffy. This will take about 2 minutes.
Add in the powdered sugar and Baileys and mix until incorporated. Turn the mixer on high and beat for another 2 minutes until the frosting is fluffy.
Add the frosting into a piping bag with a straight tip and pipe swirls on the cooled cupcakes.
Add the nonpareils to the frosting.