Make the streusel: In a medium bowl, stir together the flour, brown sugar, cinnamon, and salt. Work in the softened butter with your fingertips or a fork until the mixture forms moist, clumpy crumbs. Chill while you make the dough.
Heat the oven to 375°F. Line two baking sheets with parchment paper.
Whisk the dry ingredients: In a large bowl combine the all-purpose flour, cake flour, cornstarch, cinnamon, baking soda, baking powder, and salt.
Cream the butter and sugars: In the bowl of a stand mixer fitted with the paddle, beat the cold butter with the brown sugar and granulated sugar on medium speed until slightly fluffy and no big butter pieces remain, 2 to 3 minutes. Scrape the bowl, then mix in the vanilla, egg, and egg yolk until smooth.
Add the dry ingredients to the mixer and blend on low just until a thick dough comes together with no dry spots.
Portion and fill: Scoop the dough into 12 equal balls (about 2 to 2 1/2 tablespoons each) and place on the prepared sheets, spacing a few inches apart. Use a floured thumb or the back of a tablespoon to press a deep well in the center of each. Spoon about 1 tablespoon chilled streusel into each well, gently pressing it in so it sticks.
Flash-chill the filled cookies on the sheets in the freezer for 10 minutes to help them keep their shape.
Bake one sheet at a time for 10 to 12 minutes, until the edges are set and just turning golden while the centers still look soft. If you want perfectly round cookies, scoot them with a large round cutter right after they come out. Cool on the sheet for 5 minutes, then transfer to a rack to cool completely.
Whisk the icing: In a small bowl, combine powdered sugar, espresso powder, vanilla, and a pinch of salt. Add the melted butter and 2 1/2 tablespoons cream, whisking until smooth and drizzleable. Thin with a few drops more cream if needed.
Drizzle the cooled cookies generously with icing. Let set for about 15 minutes before serving.