Add the egg yolks and sugar to a medium saucepan. Don't turn on the burner yet. Whisk until combined.
Add in the sweetened condensed milk and butter. Place over medium/low heat and let the butter melt.
Once the butter is melted, turn the heat up to medium and let it cook for 10 to 12 minutes until thickened.
Remove from the heat and stir in the vanilla and toasted coconut. Stir until incorporated. Set aside and prepare crust.
Preheat oven to 325 degrees. Spray a 9.5-inch springform pan with nonstick cooking spray. Line the sides with a strip of parchment paper.
In a food processor, add in the oreo cookies. Pulse until the oreo cookies are just crumbs. You can also add the cookies into a storage bag and crush the cookies with a rolling pin.
Pour the melted butter in the food processor and pulse until all of the oreos are coated with butter.
Pour the crumbs into the prepared springform pan and press into the bottom of the pan and up the sides about ½ - 1 inch.
Place the crust in the fridge or freezer to firm up while preparing the cheesecake batter.
Add the cocoa powder and sugar in a large mixing bowl. Stir to combine.
Add in the cream cheese and beat on medium until creamy. Scrape down the sides of the bowl.
Add the melted german chocolate and vanilla extract. Quickly beat the chocolate into the cream cheese so it doesn't have time to cool down or seize up.
Add in the eggs one at a time and beat until each egg is incorporated. Scrape down the sides and bottom of the bowl before adding the next egg.
Add the sour cream and heavy cream into the cream cheese mixture. Beat until combined. Give the bowl one last scrape.
Add half of the caramel coconut filling on top of the crust. Carefully spread it out.
Pour the cheesecake batter on top of the coconut filling.
Place the springform pan in a slightly larger pan. Then place the two pans in an even larger pan and fill the largest pan with about ½ to 1 inch of hot water.
Place in the oven. Let the cheesecake bake for 1 hour 20 minutes or until done. To make sure the cheesecake is done, give it a wiggle and the center of the cheesecake would just slightly jiggle.
Turn off the heat and open the oven door slightly. Let it cool in the oven for an hour then move to the counter if it hasn't come to room temperature.
Once cooled to room temperature, place in the fridge overnight to chill. You can carefully place the remaining caramel coconut filling on before placing the cheesecake in the fridge or cover the caramel coconut filling and refrigerate until the next day when serving the cheesecake.
If you haven't done so, place the remaining coconut filling on top of the chilled cheesecake and drizzle a little chocolate syrup on top.