Preheat oven to 350°F (175°C). Butter a 9x13-inch baking dish and set aside. Spread bread cubes in the prepared dish in an even layer.
In a large mixing bowl, whisk together the coconut milk, whole milk, eggs, granulated sugar, melted butter, vanilla extract, coconut extract, cinnamon, and salt until completely smooth and the sugar has dissolved.
Stir 1/2 cup of the shredded coconut into the custard mixture. Pour the custard evenly over the bread cubes, pressing down gently with a spatula to ensure all pieces are submerged. Let sit for 30 minutes at room temperature, pressing down occasionally.
Sprinkle the remaining 1/4 cup shredded coconut and the turbinado sugar evenly over the top. Cover the dish loosely with aluminum foil.
Bake covered for 30 minutes. Remove the foil and continue baking for 20-25 minutes, until the top is golden brown and the center jiggles only slightly when gently shaken.
Remove from oven and let cool for 15 minutes before serving. The custard will continue to set as it cools. Cut into squares and serve warm.