Preheat oven to 350 degrees F. Lightly spray two 8-inch pans with cooking spray and line with parchment paper, if desired, and set aside.
Combine the milk and apple cider vinegar in a medium bowl and set aside. This creates a buttermilk and makes for incredibly moist cupcakes; don't skip it!
In a large bowl, whisk together the flour, sugars, baking powder, baking soda, spices, and salt.
Add the oil, vanilla, and orange zest to the bowl with the milk and vinegar. Fold the wet ingredients into the dry and combine them, taking care not to overmix.
Fold in the carrots and walnuts until just combined. Divide half the batter into each of the prepared pans.
Place in the oven and bake for 25 minutes or until a toothpick comes out clean. Remove and let cool completely on a cooling rack.
When the cakes are completely cool, it's time to frost! Combine the butter and cream cheese in a stand mixer using a paddle attachment until light in color and airy, about 5 minutes. Add in the powdered sugar and vanilla and whip another minute until light and cream.
To frost, spread a thick mixture of frosting on the bottom of a cake layer then carefully place the other layer on top. Frost a thin layer of frosting to create a crumb layer (notes on how-to in the blog post above) then let dry completely and frost the cake with the remainder of the frosting.
Notes
*I use oatmilk in baking because of the higher carbohydrate content, but any unsweetened milk will work. For non-dairy options, this recipe was tested with Earth Balance sticks and Violife cream cheese. I've also used Miyoko's butter and cream cheese in baking before and it works well. Though it wasn't tested in this specific recipe, I assume it will work. Non-dairy options vary widely in taste, so other brands may have a different taste.