Prep the pan and oven: Heat the oven to 350°F (175°C). Line a 9x13-inch (23x33 cm) baking pan with parchment, leaving overhang for easy lifting. Lightly grease the sides.
Mix the dry ingredients: In a large bowl, whisk flour, baking powder, baking soda, cinnamon, nutmeg or ginger (if using), and salt until evenly combined.
Whisk the wet ingredients: In another bowl, whisk granulated sugar, brown sugar, and eggs until smooth and slightly thickened, about 30–45 seconds. Add oil, yogurt or buttermilk, and vanilla. Whisk until fully combined.
Combine: Pour the wet mixture into the dry. Fold gently with a spatula until just a few streaks of flour remain.
Add the carrots and extras: Fold in the grated carrots, nuts, raisins, and orange zest, if using. Mix until evenly distributed and no dry spots remain. Do not overmix.
Bake: Spread the batter in the prepared pan and smooth the top. Bake for 28–35 minutes, or until a toothpick inserted in the center comes out clean or with a few moist crumbs.
Cool completely: Place the pan on a rack and let the cake cool fully in the pan. This sets the crumb and prevents the frosting from melting.
Make the frosting: Beat the cream cheese and butter together until smooth and creamy, 1–2 minutes. Add vanilla and salt. Gradually mix in powdered sugar, scraping the bowl as needed. Add orange juice or milk, a teaspoon at a time, until you reach a soft, spreadable consistency.
Frost: Spread the frosting over the cooled cake. If you like, sprinkle with chopped nuts or a dusting of cinnamon.
Slice and serve: Lift the cake out using the parchment overhang and cut into squares. For tidy slices, chill the frosted cake for 20–30 minutes first.