Set your oven to 350 degrees F. Grease a 9x9-inch square pan and line it with parchment paper, leaving some overhang to lift the brownies out later.
In a medium saucepan over low heat, melt the butter with 1 cup of chocolate chips, stirring frequently until smooth. Remove from heat and let it cool slightly.
Whisk in the granulated sugar, brown sugar, and cocoa powder until combined.
Mix in the eggs, yolk, and vanilla extract until smooth.
Using a rubber spatula, stir in the flour and salt until just combined. Add a tablespoon of hot water (or a bit more if needed) to achieve a silky, thick batter. Set aside 1/2 cup of the brownie batter (to swirl into cheesecake layer), then gently fold in the remaining 1/3 cup chocolate chips.
Add the brownie batter into the prepared baking pan and smooth it out. Bake in the preheated oven for 22-30 minutes. 22 minutes will be a fudgier brownie where as 30 minutes will yield a more cakey brownie.
In a large bowl using a hand mixer, or in a stand mixer, beat the cream cheese, granulated sugar, and a pinch of salt until smooth and creamy.
Beat in the eggs and vanilla extract until the mixture is well-blended and velvety.
Pour the cheesecake layer over the brownie batter in the baking pan, spreading it evenly. You don't have to wait until the brownies are cooled.
Place the pan back into the oven and bake for 10 minutes. Then reduce the heat to 325 degrees F and bake for another 20-25 minutes, or until the edges are set and the center is only slightly jiggly.
Allow the brownies to cool completely in the pan. Then pop the brownies in the fridge for at least 1 hour to set the cheesecake layer.
Once cheesecake brownies are set, place Ferrero Rocher chocolates on top of the cheesecake layer and sprinkle with crushed hazelnuts.
Use the parchment paper to lift the brownies out, then slice into squares.