Step 1: Preheat oven to 175°C (350°F). Prepare a 9x5 inch loaf pan by greasing and flouring it, or lining it with parchment paper, leaving overhang on the sides.
Step 2: In a medium bowl, whisk together the flour, baking powder, and salt until evenly distributed. Set aside.
Step 3: In a large mixing bowl, use an electric mixer to cream together the softened butter and granulated sugar on medium speed for about 3-4 minutes, or until light, fluffy, and pale yellow.
Step 4: Add the eggs one at a time, beating well after each addition. Scrape down the sides of the bowl as needed.
Step 5: In a separate small bowl, combine the coconut milk, drained crushed pineapple, coconut extract, vanilla extract, and optional rum. Stir to combine.
Step 6: Gradually add the dry ingredients to the butter mixture, alternating with the liquid ingredients. Start and end with the dry mixture. Mix on low speed just until everything is combined and no dry flour streaks remain. Do not overmix.
Step 7: Pour the batter into the prepared loaf pan and use a spatula to smooth out the top evenly.
Step 8: Bake for 50 to 60 minutes, or until a wooden skewer or toothpick inserted into the center comes out clean. If the top browns too quickly, loosely tent with foil partway through baking.
Step 9: Remove the cake from the oven and let it cool in the pan for about 10 minutes.
Step 10: Carefully transfer the cake from the pan to a wire rack to cool completely.
Step 11: While the cake cools, whisk together the powdered sugar, pineapple juice, coconut milk, and optional rum in a small bowl until smooth and drizzle-able. Adjust consistency with more liquid or powdered sugar if needed.
Step 12: Once the cake is completely cool, drizzle the glaze generously over the top. Add optional garnishes like toasted coconut, maraschino cherries, and fresh pineapple slices if desired. Serve immediately.