Combine the flour, gluten, starter, water, salt, sugar, malt, and milk powder in a big bowl. Mix to combine.
Knead until the dough is very smooth and strong, almost rubbery, about 7 minutes. Form the dough into a smooth ball; the surface should feel satiny and tight.
Cover the dough loosely with plastic wrap or a towel and let it rest for 10 minutes.
Divide the dough into 16 equal pieces for medium bagels or 12 pieces for large bagels. Form each piece into a light ball, cover, and let rest for 10 minutes.
Meanwhile, line two cookie sheets with parchment paper and dust them with semolina.
To shape each bagel, roll the dough into a log about 10 inches long without tapering the ends. Wrap the log around your hand, with the ends overlapping by about two inches in your palm. Roll your palm on the (unfloured) counter to smash the ends together. (Note: if the dough is a little dry, give it a quick spritz of water with a fine spray bottle before shaping. This helps it roll more easily, and the ends stick to each other.)
Place the bagels on the prepared cookie sheets, slip into a large food-grade plastic bag or cover with plastic wrap, and keep at room temperature 3-8 hours, depending on th temperature of you room and how puffy you like your bagels. Keep an eye on them, you don’t want them to double in size, just slightly start to expand. If they sink when you boil them, they didn’t quite rise enough.
Preheat the oven to 450°F and bring a large pot of water to a rolling boil. Add the baking soda to the water once it is boiling.
Meanwhile, place a cooling rack on the counter with a dishtowel underneath it, and place the topping seeds or spices, if using any, on a small plate in a shallow layer.
Drop the bagels, three or four at a time, into the vigorously boiling water for 20 seconds. They ought to float soon after dropping them in, if they fail to float, they have not risen enough and need more time. If they float right away so the tops are not submerged initially, flip them over about halfway through the boil.
Remove the bagels from the water to the cooling rack with a slotted spatula. Let them drain for about 30 seconds before pressing them, top down, into the seeds and replacing them back onto the semolina-dusted, parchment-lined cookie sheet. Turn the oven down to 400°F once the bagels are in. Bake until golden brown, about 20 minutes.