In a medium saucepan, combine dark brown sugar, cornstarch, and salt.
Gradually whisk in the whole milk until smooth.
Place the saucepan over medium heat and cook, stirring constantly, until the mixture thickens and comes to a gentle simmer.
In a separate bowl, lightly beat the egg yolks. Add a small amount of the hot milk mixture to the yolks, whisking constantly to temper the eggs.
Slowly pour the tempered yolks back into the saucepan, whisking continuously.
Cook for an additional 1-2 minutes, or until the pudding is thick enough to coat the back of a spoon.
Remove from heat and stir in the unsalted butter and vanilla extract until well combined.
Pour the pudding into a large bowl or individual serving dishes.
Cover with plastic wrap, pressing it directly onto the surface of the pudding to prevent a skin from forming.
Refrigerate for at least 4 hours, or until set and chilled.