Preheat oven to 350°F (175°C). Spray a 10-inch Bundt pan with baking spray.
In a medium bowl, whisk together the flour, baking powder, baking soda, and kosher salt until well combined. Set aside.
In the bowl of a stand mixer fitted with the paddle attachment, cream the softened butter and granulated sugar on medium-high speed for about 3–4 minutes, or until light and fluffy.
Add the eggs, one at a time, beating well after each addition. Scrape down the sides of the bowl as needed.
Add the vanilla extract and coconut extract. Mix until combined.
On low speed, alternate adding the flour mixture and the coconut milk, beginning and ending with the flour mixture. Start by adding one-third of the flour mixture, then half of the coconut milk, another third of the flour, the remaining coconut milk, and finally the last third of the flour mixture. Mix until just combined; do not overmix.
Gently fold in the shredded coconut until evenly distributed.
Pour the batter into the prepared pan and smooth the top with a spatula. Tap the pan lightly on the counter to remove any air bubbles.
Bake for 50-55 minutes, or until a toothpick inserted into the center comes out with a few crumbs, but no wet batter.
Let the cake cool in the pan for 10–15 minutes, then carefully turn it out onto a wire rack to cool completely.
For the glaze, whisk together the confectioners' sugar, 3 tablespoons of coconut milk, and coconut extract (if using) in a small bowl. Add more coconut milk as needed to reach a thick but pourable consistency.
Drizzle the glaze over the cooled cake, allowing it to run down the sides. Sprinkle with toasted shredded coconut if desired.
Allow the glaze to set before slicing.