Preheat the oven to 350°F and grease an 8x8-inch square baking pan with cooking spray; dust with 1 tablespoon flour or line with parchment paper. Set aside.
To prepare the streusel topping, mix together the 1/4 cup all-purpose flour, 1/4 cup brown sugar, and 1 1/2 teaspoons cinnamon in a medium bowl. Stir in the 2 tablespoons melted butter and use your hands to really mix it up good. Set aside.
For the cake, whisk together the 1 cup all-purpose flour, 1/2 teaspoon baking soda, 1/2 teaspoon baking powder, 1/2 teaspoon salt, and 2 teaspoons cinnamon in a medium mixing bowl and set aside.
Add the 1/4 cup room temperature butter and 1/2 cup brown sugar to a separate mixing bowl and use an electric mixer on medium speed to combine ingredients for 2 minutes until light and fluffy. Scrape sides as needed and then add the 1 large egg, 1/2 cup vanilla or plain yogurt, 1 teaspoon vanilla extract and 1 teaspoon apple extract (if using). Mix for 1 minute until combined and smooth, scraping the sides of the bowl as necessary.
Turn the mixer to low speed and gradually add the flour mixture. Mix until just combined and smooth, again, scraping the sides of the bowl as necessary. Fold 2-3 cups apple diced into very small pieces into the batter.
Transfer the batter into prepared baking pan. Spread it out with a spatula. It will seem very thin, but don't worry, it will bake up nice and fluffy. Sprinkle streusel topping over the cake and gently press down with your fingers. It might seem like too much streusel, but we really enjoyed the amount.
Bake for 30-40 minutes, or until the cake is set and a toothpick inserted in the center comes out clean. My cake was done in 30 minutes.
Remove cake from oven and place pan on a wire rack to cool completely, about 15 minutes.
Stir 1/4 cup confectioners' sugar and 1 to 2 teaspoons milk together in a small bowl, until smooth. Drizzle over the cooled cake.