Preheat the oven to 350F. Brush or spray an 8-inch cake pan with oil.
Spread the dulce de leche around the bottom and up the sides of the pan. Place the cake pan in a larger roasting pan, which you will use as a water bath during baking.
To make the chocolate cake layer, mix the sugar, flour, cocoa powder, baking soda, baking powder, and salt in a large bowl.
In a different bowl, with the mixer on low speed, mix together the sour cream or buttermilk, butter, eggs, and vanilla.
Slowly add the wet ingredients to the dry. Mixing just until combined. Scrape the batter in the mold, over the dulce de leche.
Make the flan layer: Place all the flan ingredients in the blender and blend until smooth.
Pour the flan mixture over the cake layer. Cover the with foil and fill the roasting pan with hot water, reaching halfway up the side of the cake pan, and bake for about 1 hour and 10 minutes, or until a knife inserted into the center comes out clean.
Let the Chocoflan cool in the water bath then refrigerate for at least 2 hours or overnight.
To serve, run a thin sharp knife around the rim of the flan. Place a platter or large plate on top of the flan and gently flip over so the plate is on the bottom.