In a large mixing bowl combine the butter and sugar. Beat on medium speed until the mixture is light and fluffy, about 3-4 minutes. Scrape down sides and bottom of bowl and blend again. Add the vanilla and coconut extract and beat until blended.
In a small bowl whisk together the flour, cornstarch and salt. Add ⅓ of the flour mixture to the butter in three additions and beat on low speed until combined. Repeat until all flour is incorporated. Press the dough together with the spatula to form a ball in the mixing bowl. Refrigerate while preparing the egg wash.
Preheat oven to 350°F. Line two baking sheets with parchment paper and set aside.
In a small, deep bowl whisk together the whole egg and egg white until blended. Pour half the coconut into a separate shallow bowl and place next to the egg wash. (Add more coconut to the bowl as needed)
Using a small cookie scoop form the dough into 1 ¼-inch balls. Using one clean hand, dip a cookie dough ball in the beaten egg rolling to cover, then transfer to the bowl of coconut. With the opposite clean hand, roll the dough ball in the coconut, lightly pressing to adhere. Place the balls on the parchment lined baking sheets 2-inches apart . Continue until the pan is filled. Press an indentation into the center of each dough ball using the back of a rounded ¼ teaspoon, taking care not to press too hard or too deep causing the cookies to spread. Refrigerate the filled pan while preparing the second sheet of cookie dough balls. See NOTES about refrigeration. Place the second filled baking sheet in the refrigerator while the first is baking.
Bake the cookies for 9-10 minutes, then remove the baking sheet from the oven. Carefully and lightly re-press each indentation. Rotate the pan and continue baking until golden brown, about 4-5 minutes more. (Total baking time is about 14 minutes) Allow baked cookies to rest on the pan for a minute, then transfer to a wire rack to cool completely before icing.