1) To make the dough: In a large bowl or the pan of your bread machine, combine the sugar, salt, and butter. Heat the milk and pour over. Stir until the sugar dissolves and the butter is melted. Add the water, eggs, and vanilla, stirring to combine. Let the mixture rest until it cools to lukewarm. Stir in the yeast and the 2 1/2 cups flour. Cover and let rest for 30 minutes.
2) Add the additional 1 1/2 to 1 3/4 cups flour; start with the smaller amount and see how the dough behaves, adding 1/4 cup more if it's still very sticky. Mix and knead for 6 to 8 minutes at slow to medium speed with your mixer; or use the dough cycle on your bread machine.
3) The dough will be soft, smooth, and silky; perhaps just slightly sticky to the touch. Cover the dough and let it rise in a warm place for 1 1/2 hours, until puffy-looking and almost doubled. Or let your bread machine finish its cycle.
4) To make the topping: Combine the brown sugar, butter, salt, cinnamon, and flour, mixing with a fork or your fingers until crumbs form. Set aside.
5) To shape and bake the cake: Deflate the dough, round it into a ball, and place it into a greased 10" springform pan. Cover with greased plastic or a large inverted bowl until the dough domes an inch above the rim of the pan, about 45 minutes. While the dough is rising, preheat the oven to 350°F. When the dough is ready, sprinkle it with the topping (some will slide down). Bake the cake for 45 to 50 minutes, until a paring knife inserted into the center comes out clean. Remove the cake from the oven and cool it in the pan on a rack for 10 minutes before tilting it out of the pan and returning it to the rack to cool completely.
6) To make the filling: While the cake cools, put the flour in a small saucepan. Add the milk a little at a time, stirring to make a smooth mixture.
7) Cook the flour and milk over medium-low heat just until the mixture thickens. Remove from the heat and cool. In a small mixing bowl, beat the butter and confectioners' sugar together until light and fluffy. Add the vanilla, then whisk into the flour/milk mixture.
8) To assemble: Split the cooled cake horizontally, and spread the filling on the bottom layer. Replace the top and refrigerate the cake until 30 minutes before serving.
Yield: 1 large or 2 small cakes, 20 servings.