Prep the pan and oven: Heat the oven to 350°F (175°C). Lightly grease a standard doughnut pan or spray with nonstick spray. If you have two pans, great; if not, bake in batches.
Mix dry ingredients: In a large bowl, whisk flour, brown sugar, granulated sugar, baking powder, baking soda, cinnamon, nutmeg, ginger, and salt until no lumps remain.
Whisk wet ingredients: In a separate bowl, whisk yogurt, oil, eggs, and vanilla until smooth and glossy.
Combine batter: Pour the wet ingredients into the dry. Stir with a spatula just until no dry streaks remain. The batter will be thick—avoid overmixing.
Fold in carrots and mix-ins: Gently fold in the grated carrots. Add nuts and raisins if using. The batter should look evenly speckled with carrot.
Fill the pan: Spoon the batter into a piping bag or zip-top bag and snip the tip. Pipe into the doughnut wells, filling each about 3/4 full for a good rise.
Bake: Bake 10–12 minutes, until the tops spring back when lightly pressed and a toothpick comes out clean or with a few moist crumbs.
Cool completely: Let doughnuts cool in the pan 5 minutes, then transfer to a wire rack. Cool fully before glazing so the glaze sets properly.
Make the glaze: Beat softened cream cheese until smooth. Add powdered sugar, vanilla, salt, and 2 tablespoons milk. Beat until creamy, adding more milk a teaspoon at a time until pourable but thick.
Glaze and finish: Dip the top of each cooled doughnut into the glaze, letting excess drip off. Set back on the rack. Sprinkle with nuts, coconut, or orange zest if you like. Let set 15–20 minutes.