Grease an 8x8 square baking pan with nonstick baking spray, oil, or butter. Line pan with parchment paper so that the paper hangs off the edges on two sides. (You're essentially making a parchment paper sling so it's easy to remove the cake from the pan once it's cool.)
In a small mixing bowl, combine flour, salt, baking powder, and 1/2 c coconut. Set aside.
In the bowl of a stand mixer fitted with the paddle attachment (or in a large mixing bowl using a hand mixer), cream together 1/2 c butter and 3/4 c sugar, mixing until light and fluffy, about 2 minutes. Scrape bowl.
Add eggs, vanilla extract, and coconut extract (if using). Beat until combined (about 1-2 minutes), scraping bowl as needed. Note: the batter may be lumpy at this point, but don't worry. As long as the lumps are no larger than pea-sized, you're all good.
Next, add 1/3 of the flour mixture, mixing until just combined. Then add 1/2 of the milk, mixing until combined. Repeat. Scrape bowl, then add the remaining flour mixture. Mix until all flour is mixed in.
Pour all batter into your prepared cake pan. Set aside while you make the crumble topping.
Toasted Coconut Crumble Topping
In a small mixing bowl, combine 1 c coconut, 1/2 c sugar, and 5 T flour. Then add the cold butter chunks. Use your fingers to pinch/rub the butter chunks into the coconut mixture, working until butter chunks are about peanut-sized or so.
Sprinkle crumble on top of the cake batter in the pan.
Bake for 30-35 minutes, or until coconut is nicely toasted and a toothpick inserted into the center of the cake comes out clean.
Move to a cooling rack and let cool completely. Use the parchment paper to remove the cooled cake from the pan onto a cutting board. Cut into nice big slices (you should get 9), and serve!
Store any leftover cake in an airtight container at room temperature for up to 3 days.