Toast the milk powder: Add the milk powder to a dry skillet over medium-low heat. Stir constantly for 3–5 minutes until it turns golden and smells nutty.
Transfer to a small bowl to prevent burning and set aside.
Brown the butter: In a light-colored saucepan, melt the butter over medium heat. Continue cooking, stirring, until the milk solids turn deep golden and the butter smells like toasted hazelnuts, 5–8 minutes. Scrape everything, including the browned bits, into a large mixing bowl.
Cool slightly: Let the browned butter sit for 10 minutes.
You want it warm, not hot, so it doesn’t scramble the eggs.
Mix sugars and butter: Whisk the brown sugar and granulated sugar into the warm butter until glossy and combined, about 1 minute.
Add eggs and vanilla: Whisk in the eggs one at a time, then the vanilla. Whisk for 30–45 seconds until the mixture looks thick and ribbony. This helps with chewiness.
Combine dry ingredients: In a separate bowl, whisk the flour, baking soda, baking powder, and salt.
Add dry ingredients and toasted milk powder: Fold the dry ingredients and the toasted milk powder into the wet ingredients just until a few streaks of flour remain.
Fold in chocolate: Gently mix in the chopped chocolate or chips.
Do not overmix.
Chill the dough: Cover and chill for at least 45–60 minutes, or up to 24 hours. Chilling improves flavor and reduces spread.
Preheat and prep: Heat oven to 350°F (175°C). Line two baking sheets with parchment paper.
Scoop: Portion dough into 2-tablespoon balls (about 45–50 g each).
For bakery-style cookies, use 3 tablespoons (70 g). Space 3 inches apart.
Bake: Bake 10–12 minutes for smaller cookies, 12–14 for larger, until edges are set and centers look slightly underbaked. Rotate sheets halfway through for even baking.
Finish: While hot, sprinkle with flaky salt if using.
Let cool on the sheet for 5 minutes, then transfer to a rack. Cookies will set as they cool.