Whisk together your flour and sugar in a medium saucepan over medium heat. Cook for about 2 minutes to toast the flour. Be careful not to burn it!
Slowly add in your milk, whisk to combine, and bring your heat to medium-high.
Bring the mixture to a simmer, whisk continuously until it is thick and pudding-like. Once it's simmering, cook for one minute more to make sure the flour taste is cooked out.
(Optional) If your mixture has any lumps, place a colander on top of a heat-proof bowl and push your mixture through and into the bowl. Transfer the mixture into a heat-proof bowl or a shallow cake pan if you want it to cool down faster.
Cover the mixture with plastic wrap so that it is touching the surface without any air bubbles in between, this will prevent a skin from forming on the top of the mixture. Let cool in the refrigerator for a few hours until it's completely cooled down. Or you can spread it onto a sheet pan and freeze it for 30 minutes to cool faster. If it's even a little warm it will melt your butter later.
Add your softened butter to the bowl of your stand mixer and whisk on high until very light and fluffy, about 2-3 minutes.
Place the cooled flour mixture into a piping bag and slowly pipe it into your butter as you whip at medium speed. Incorporating the base slowly ensures a smooth buttercream.
Add in your vanilla and salt, then mix until everything is light and creamy. If you have a lot of bubbles you can mix your frosting on low with the paddle attachment to make it smoother. Ermine frosting sets up after a few hours, so you'll want to use it immediately. It does not freeze or store well.