Preheat oven to 350°F (176°C) and prepare three 8 inch cake pans with non-stick baking spray and parchment paper in the bottom.
In a large mixer bowl, combine flour, sugar, cocoa, baking soda, baking powder, and salt. Set aside.
In a medium bowl, whisk together milk, vegetable oil, vanilla extract, and eggs.
Add wet ingredients to dry ingredients and beat until well combined.
Slowly add hot water to batter and mix on low speed until smooth. Scrape down sides as needed.
Divide batter evenly between prepared pans and bake for 22-25 minutes, or until toothpick comes out clean.
Cool cakes in pans for 2-3 minutes, then transfer to cooling racks to finish cooling.
To make coconut filling, stir sweetened condensed milk into shredded coconut in a medium bowl.
For frosting, cream butter and shortening together in a large mixer bowl until smooth.
Add half of powdered sugar and mix until smooth.
Add coconut extract and 4-5 tablespoons water or milk; mix until smooth.
Gradually add remaining powdered sugar and mix until fluffy. Adjust consistency with more liquid if needed.
Level cake layers by slicing off tops with a serrated knife so they're flat.
Place first layer on serving plate and pipe a ring of frosting around edge to hold filling.
Spread half the coconut filling inside the frosting ring.
Sprinkle 1-2 tablespoons sliced almonds over filling and press gently into place.
Repeat with second layer, filling, almonds, and third layer.
Apply thin crumb coat of frosting to sides of cake.
Frost top of cake with about 1 cup frosting and spread evenly.
Frost entire cake smoothly using an offset spatula.
Create decorative stripes on side of cake with offset spatula.
Prepare chocolate ganache: microwave heavy cream until boiling, pour over chocolate chips.
Let ganache sit 2-3 minutes, then whisk until smooth.
Drizzle ganache around edges of cake and smooth over top.
Let ganache set slightly (about 10 minutes), then add final frosting, extra coconut, almonds, and optional Almond Joy bars.
Refrigerate cake until ready to serve. Best served at room temperature. Keeps well for 3-4 days.