Pat the turkey breast completely dry with paper towels, inside and out. Any surface moisture will steam instead of crisp, so don't skip this!
In a small bowl, combine the salt, pepper, brown sugar, thyme, rosemary, sage, garlic powder, and onion powder.
Season the turkey breast generously all over, working some of the mixture under the skin directly onto the meat. Use all of the mixture.
Place the breast on a rack set inside a rimmed baking sheet. Leave it uncovered in the refrigerator for at least 24 hours, and up to 2 days, before roasting.
When ready to roast, remove the turkey breast from the fridge and let it sit at room temperature for 45 minutes to 1 hour.
Preheat the oven to 325°F. Rub the softened butter all over the skin. Arrange the onion, garlic, and herb sprigs in the bottom of a roasting pan and set the turkey breast on top. Pour the broth into the bottom of the pan.
Roast until a thermometer inserted into the thickest part reads 165°F, about 1 ½ to 2 hours depending on size. Tent loosely with foil if the skin browns too quickly.
Transfer the turkey breast to a cutting board and let it rest 20 minutes. While it rests, make the gravy.
Pour the pan drippings through a fine-mesh strainer into a measuring cup, discarding the solids. Add butter if needed to bring the fat to about 3 tablespoons total, then return it to the roasting pan or a saucepan over medium heat.
Whisk in the flour and cook, stirring constantly, for 1 to 2 minutes until golden and no raw flour smell remains.
Slowly whisk in the strained drippings plus enough broth to reach 2 to 2 ½ cups total. Simmer, whisking often, until thickened, about 5 minutes. Season with salt and pepper to taste.
Let the turkey breast cool to room temperature, about 1 hour, then slice or leave whole, wrap tightly, and refrigerate. Store the gravy separately in an airtight container. Both keep well in the fridge for up to 2 days.
When ready to serve, place the sliced turkey in a baking dish, drizzle with the ¼ to ½ cup broth, cover tightly with foil, and warm in a 325°F oven for 20 to 30 minutes, until heated through. Reheat the gravy gently in a saucepan over low heat, whisking in a splash of broth if it's thickened too much.