Fill a large bowl about halfway with ice and set it aside.
In a small, heavy-bottom saucepan, place the tapioca starch, sugar and salt, and whisk to combine well. Add the milk, and whisk until smooth.
Place over medium-low heat and cook, whisking constantly, until the mixture thickens and the whisk leaves behind a visible trail, about 3 minutes.
Remove the saucepan from the heat, and scrape the mixture into a separate medium-size heat safe bowl.
Place the medium-sized bowl on top of the bowl of ice to stop the cooking of the flour and sugar mixture.
Allow the mixture to cool until it reaches room temperature (temperature matters tremendously here).
Place the cooled flour and sugar mixture in the bowl of a stand mixer fitted with the paddle attachment or in a large bowl with a handheld mixer. Add about 1/3 of the butter and the vanilla (extract or seeds), and mix on medium speed until smooth.
Add the remaining butter in two parts, mixing in between until smooth. The mixture will seem almost curdled at first.
Turn the mixer to high speed and mix for about 3 minutes or until the frosting turns white and becomes light and fluffy.
The frosting can be used immediately or can be stored in a sealed container in the refrigerator for a few days. Allow to come mostly to room temperature before using.