In a 3-quart saucepan, bring the milk and vanilla bean to a simmer over medium heat.
Remove from heat, cover, and steep for 30 minutes (or refrigerate for up to 24 hours for a stronger flavor).
In a medium-sized bowl, whisk together sugar and cornstarch.
Whisk in eggs.
Return milk to a burner on medium heat and bring back to a simmer.
Remove the vanilla bean and scrape the seeds into the milk. Discard the pod.
Ladle 1/2 cup of the milk into the egg mixture, whisking to combine. Repeat two more times.
Pour the warmed eggs/milk into the pot and cook, whisking constantly until the custard turns thick and lumpy, about three minutes.
Once it begins to bubble sluggishly, cook and whisk for another two minutes.
Remove from the heat and stir in the vanilla extract.
Pour the custard into a baking dish, about 7" by 11", to speed the cooling process.
Press a sheet of plastic wrap against the surface and refrigerate until thick and cool, about one hour. You could also do this in advance and refrigerate for up to one week. In that case, let it stand at room temperature until warmed to 68 F before using.
In the bowl of a stand mixer fitted with the paddle attachment, beat the cream cheese and butter on medium speed until fluffy and light, about five minutes.
Stella says to switch to the whisk attachment at this time. I didn't and things worked fine, but it might have been even better (if that's even possible) if I had.
Stir the custard until smooth and add a little bit at a time to the frosting, mixing after each addition.
Drizzle in the lemon juice. The buttercream should be light and creamy, but thick enough to hang from a spoon.
Use immediately or set aside at cool room temperature for a few hours and rewhip before use.