Prep the pan and oven. Heat oven to 350°F (175°C).
Grease a 9x13-inch pan and line the bottom with parchment for easy release.
Toast the coconut topping. Spread 1/2 to 3/4 cup shredded coconut on a sheet pan and toast for 5–7 minutes, stirring once, until golden. Cool completely.
Mix dry ingredients. In a large bowl, whisk flour, granulated sugar, brown sugar, baking powder, baking soda, and salt until no lumps remain.
Combine wet ingredients. In another bowl, whisk eggs, oil, coconut milk, vanilla, and coconut extract. Stir in the drained crushed pineapple.
Bring it together. Pour wet ingredients into dry and mix with a spatula just until combined.
Fold in 1 cup shredded coconut. Do not overmix.
Bake. Spread batter evenly into the pan. Bake 28–34 minutes, or until the center springs back and a toothpick comes out with a few moist crumbs.
Cool fully. Let the cake cool in the pan on a rack for at least 1 hour before frosting.
Make the frosting. Beat cream cheese and butter until smooth and fluffy, 2–3 minutes.
Add powdered sugar in batches, then vanilla, a pinch of salt, and 1–2 tablespoons pineapple juice until spreadable and tangy.
Frost and finish. Spread frosting over the cooled cake. Sprinkle generously with the toasted coconut. Chill 15 minutes to set, or slice and serve right away.