Measure the heavy cream and set it beside the stove before you begin — you won't have time to fetch it later.
Add the sugar to a dry, light-colored saucepan in an even layer. Heat over medium and leave it undisturbed until the edges begin to liquefy, about 3–4 minutes. Once they do, stir gently with a heatproof spatula, pulling the melted sugar into the dry crystals until fully liquid and smooth.
Continue cooking, stirring occasionally, until the caramel reaches a deep copper color — about 340–350°F, roughly 6–8 minutes total. Do not pull it early; deep caramel is the flavor of this recipe.
Remove from heat and slowly pour in the heavy cream. The mixture will steam violently and seize into clumps — this is normal. Return to low heat and whisk until smooth, about 1–2 minutes.
Measure ¼ cup of the caramel cream into a small bowl, stir in a pinch of the flaky sea salt, and refrigerate. This is the swirl.
Let the remaining caramel cool until lukewarm, about 15 minutes. Do not skip this — hot caramel will turn the pudding mix into lumps.
Whisk the whole milk, dry milk powder, instant pudding mix, fine sea salt, and vanilla extract into the lukewarm caramel until completely smooth and no powder remains at the bottom.
Pour into a Ninja Creami pint, staying at or below the max fill line. Secure the lid and freeze upright on a level surface for a full 24 hours.
Remove the lid, place the pint in the outer bowl, install in the Ninja Creami, and select GELATO. If crumbly, add 1 tablespoon of milk and select RE-SPIN.
Create a well in the center of the pint down to the bottom. Add the reserved caramel and run MIX-IN once — or fold in by hand for visible ribbons.
Sprinkle with flaky sea salt, let stand 5 minutes, and serve.