Preheat oven to 350°F (175°C). Grease a 9x13-inch baking dish with butter or cooking spray and set aside.
Spread 1/2 cup of the shredded coconut on a baking sheet and toast in the preheating oven for 3-5 minutes until golden brown, watching carefully to prevent burning. Remove and set aside.
In a large mixing bowl, whisk together the coconut milk, whole milk, eggs, granulated sugar, vanilla extract, coconut extract, and salt until smooth and well combined.
Place the bread cubes in the prepared baking dish. Scatter the pineapple chunks and the remaining 1/2 cup untoasted coconut evenly over the bread.
Pour the custard mixture over the bread, pressing down gently with a spatula to ensure all pieces are moistened. Let stand for 20-30 minutes at room temperature, pressing down occasionally.
In a small bowl, mix the melted butter with the brown sugar. Drizzle over the top of the pudding and sprinkle with the toasted coconut.
Bake for 45-50 minutes until the center is set and the top is golden brown with crispy edges. A knife inserted in the center should come out with just a few moist crumbs.
Let cool for 10-15 minutes before serving. The pudding will firm up slightly as it cools and is best served warm.