Preheat oven to 320°F (160°C). Line a 12-cup muffin tin with paper liners and prepare a larger baking pan for the water bath.
Melt butter, cream cheese, and milk in a saucepan over low heat, stirring until smooth. Remove from heat and cool slightly.
Whisk in egg yolks one at a time, then add vanilla and salt. Sift in flour and fold gently until just combined.
Whip egg whites in a clean bowl until foamy. Gradually add sugar and beat until soft peaks form.
Fold one-third of the egg whites into the cream cheese mixture to loosen it, then gently fold in the remaining whites in two additions.
Divide batter evenly among cupcake liners, filling each about two-thirds full.
Place muffin tin in the larger baking pan. Pour hot water into the outer pan until it reaches halfway up the muffin tin sides.
Bake for 20 to 25 minutes until tops are lightly golden. Turn off oven, crack door open, and let cupcakes cool inside for 10 minutes.
Remove from water bath and cool completely at room temperature before serving.