Melt the butter in a medium saucepan over medium heat.
Add brown sugar and stir until it bubbles and smells like toffee, about 2–3 minutes.
Whisk in milk and cream slowly. The sugar may clump at first but will dissolve as it heats.
In a small bowl, mix cornstarch with 3 tablespoons of milk until smooth. Whisk this slurry into the pot.
If using eggs, temper the yolks: whisk them in a separate bowl and slowly drizzle in some of the hot mixture while whisking. Then pour back into the pot.
Cook while whisking over medium heat until the pudding thickens, about 5–7 minutes. It should coat the back of a spoon.
Remove from heat and stir in vanilla and a pinch of salt.
Pour into serving cups. Press plastic wrap directly on the surface to prevent a skin from forming.
Chill for at least 2 hours or serve warm for a cozy treat.
Top with whipped cream and sea salt flakes before serving if desired.