Preheat oven to 350°F with a rack in the center of the oven. In a large bowl, combine flour, baking powder, and salt. Set aside.
In the bowl of a stand mixer fitted with the the paddle attachment, beat butter, oil, and sugar for several minutes, until light and fluffy. Add eggs and egg yolks, one at a time, beating after each addition and scraping the sides and bottom of the bowl as needed. Beat in vanilla and almond extracts.
Add the flour mixture in three additions, alternating with the coconut milk: flour, coconut milk, flour, coconut milk, flour. Beat well between each addition. Stir in the shredded coconut.
Thoroughly grease a 12-cup bundt pan (non-stick baking spray with flour works best for this). Pour the batter into the prepared pan and smooth it into an even layer. Bake for 45-55 minutes, until a toothpick inserted into the center comes out clean. Cool cake in the pan on a wire rack for 10 minutes. Meanwhile procced with the syrup.
In a small saucepan, bring coconut milk and sugar to a simmer, stirring occasionally, until the sugar is dissolved. Add vanilla extract.
After the cake has cooled for 10 minutes (and is still in the pan), poke holes with a skewer* all over the top of the cake (which will end up being the bottom after inverting it). I poke about 100 holes ½-inch to 1-inch apart. Spoon half the coconut syrup into the holes allowing it to drip in and be absorbed. Set aside the remaining half of the syrup for brushing on later. Allow the cake to continue cooling in the pan, on a rack, for one hour. This additional cool time allows the syrup to soak it before inverting the cake - don't skip it.
After an hour, invert the cake onto a serving platter and brush the remaining syrup on the top and sides of the cake. If the cake is completely cool you can proceed with the frosting. If it is still a bit warm wait until it is cool to proceed with the frosting.
Using a hand mixer or stand mixer, beat cream cheese and butter until smooth. Add powdered sugar and beat to combine. Add extracts and beat to combine. Slowly add the coconut milk until you reach your desired consistency. You want the frosting to be thin enough to drip down the cake a bit but thick enough to hold in place. Adjust by adding more powdered sugar (to thicken) or coconut milk (to thin).
Spoon the frosting over the top of the cake, allowing it to fall over the sides a bit. Garnish with coconut.
