Arrange an oven rack in the middle position. Preheat the oven to 350 degrees F. Line a baking sheet with foil and brush with 2 tablespoons of the olive oil.
In a small bowl, combine the zests of half of the grapefruit, lemon and orange (you should have about 2 tablespoons of loosely-packed zest). Cut the grapefruit, lemon and orange in half. Juice the zested halves of citrus into the bowl with the zests. Add the chopped rosemary, honey and remaining ½ cup of olive oil. Whisk to combine and set aside. Slice the non-zested halves of citrus into thin rounds.
Season the salmon all over with the kosher salt.
In the middle of the prepared baking sheet, make a bed using half of the sliced citrus, half of the garlic, half of the shallot and the rosemary sprigs. Place the salmon, skin-side down, on the bed of citrus. Arrange the remaining sliced citrus, garlic and shallot on top of the salmon. Drizzle the citrus vinaigrette over the top of the salmon and roast in the oven until just cooked through, 20 to 23 minutes depending on thickness.
To serve, transfer to a serving platter. Garnish with the fresh citrus slices, pickled red onions and rosemary sprigs. Serve with flaky salt on the side.
In a small saucepan over low heat, add the vinegar, sugar, peppercorns, salt, bay leaf and ½ cup water. Heat until the sugar and salt are completely dissolved. Put the onions in a nonreactive, heat-proof food storage container and pour the vinegar mixture over the top. Let cool to room temperature before using.
