In a small saucepan, stir together 2 ½ cups of the milk, sugar, salt and vanilla. Bring to a simmer over medium heat, stirring to dissolve the sugar.
In a separate bowl, whisk the cornstarch, flour and egg yolks with the remaining ½ cup milk.
Whisk some of the hot milk mixture with the yolks to temper them. Pour the egg/milk mixture back into the remaining simmering milk. Doing this through a strainer will help to prevent lumps later on. Bring to a boil, stirring constantly with a whisk, until the mixture thickens.
Remove from the heat and strain through a fine sieve. Stir in the butter. Stir in the chopped chocolate, stirring until melted and the mixture is smooth. Top the pastry cream with a piece of plastic wrap, making sure it touches the surface so it doesn’t develop a skin. Refrigerate until cool.
To complete, fold the whipped cream and Grand Marnier into the cooled pastry cream.