Preheat oven to 325°F (163ºC). Grease and flour a 12-cup bundt pan.
Whisk together in a medium mixing bowl, flour (3 cups), baking powder (1/2 teaspoon), and salt (1/2 teaspoon); set aside.
In the bowl of a stand-up mixer, beat butter (1 1/2 cups) on medium speed, until light and fluff, 4 minutes.
Add cream cheese (1 package) and beat on medium for 2 minutes.
With the mixer on low, gradually mix in sugar (3 cups) until blended. Turn the mixer to medium, and beat for 2 additional minutes.
Add eggs (6), one at a time, mixing after each addition just until the yolk disappears.
Mix in the flour mixture gradually until just moistened, then stir in vanilla (1 teaspoon), coconut extract (1 1/2 teaspoons), and flaked coconut (2 cups).
Pour batter into prepared pan. Tap pan on the counter to remove any air bubbles.
Bake for 45 minutes in the preheated oven. Cover with foil and continue to bake, about 45 minutes longer, or until a wooden skewer inserted into the center comes out with just a few moist crumbs. Cool in the pan on a wire rack for 1 hour. Remove from the pan and cool completely on a wire rack.
Make Glaze:
Whisk together confectioners' sugar (1 1/2 cups) and 2 tablespoons of the milk in a small bowl until smooth. Add remaining milk, as needed, 1 teaspoon at a time, until the glaze has a thick pourable consistency. Stir in coconut extract (1/8 teaspoon). Pour over completely cooled cake. Top with ¼ cup shredded coconut.