Preheat the oven to 350°F (175°C). Line baking sheets with parchment paper.
In a stand mixer fitted with the paddle attachment, cream 1 cup unsalted butter and 1/2 cup granulated sugar until light and fluffy, about 2–3 minutes.
Whisk together 2 cups all-purpose flour, 1/4 teaspoon baking powder, and 1/2 teaspoon salt in a separate bowl.
Add the flour mixture to the creamed butter in several additions and mix until just combined, scraping the bowl as needed.
Add 2 tablespoons milk and 1/2 teaspoon vanilla extract, mixing until the dough comes together. Do not overmix.
Divide the dough in half, shape each half into a disk, wrap in plastic, and chill in the refrigerator for about 1 hour.
On a lightly floured surface, roll one disk of dough to about 1/8 inch thickness. Use a doughnut cutter (or a large and small round cutter) to cut out cookies and center holes.
Arrange cookies 1 inch apart on prepared baking sheets and bake for 10–15 minutes, until pale golden around the edges. Cool on a wire rack.
Spread 3 cups shredded sweetened coconut in a single layer on a parchment-lined baking sheet and toast in the oven at 350°F for 10–15 minutes, stirring frequently, until golden; cool.
Melt 20 ounces caramel sauce with 4 tablespoons milk in a double boiler over medium-low heat, stirring until smooth. Remove from heat.
Combine half of the melted caramel with the toasted coconut in a large bowl and stir until evenly coated.
Spread a thin layer of the remaining melted caramel onto each cooled cookie, then press the coconut–caramel mixture onto the top of each cookie. Let set briefly.
Melt 12 ounces dark or milk chocolate in a double boiler. Dip the bottom of each cookie into the melted chocolate and place on wax- or parchment-lined sheet.
Use a fork or piping bag to drizzle the remaining chocolate over the tops of the cookies. Allow chocolate to harden before serving.