Bring a large pot of salted water to a rolling boil, add the rotini, and cook to al dente according to package directions, about 8 to 9 minutes. Reserve 1/4 cup pasta water, then drain and rinse the pasta under cold running water until completely cooled.
If using canned salmon, drain well, remove any large bones, and flake with a fork into medium pieces. If using fresh salmon, bake a 1.5 lb fillet at 400°F (200°C) for 12 to 15 minutes, cool completely, refrigerate for 20 minutes, then flake.
Dice the cucumber into 1/4-inch cubes, halve the cherry tomatoes, finely dice the red onion (soak in cold water with a splash of vinegar for 5 to 10 minutes if you want it milder), thinly slice the celery on a slight diagonal, and drain the capers.
In a medium bowl, whisk together the mayonnaise, Greek yogurt, Dijon mustard, lemon juice, and lemon zest until smooth. Stir in the fresh dill, then season with salt and black pepper to taste.
Transfer the cooled pasta to a large bowl and toss with about two-thirds of the dressing. Add the cucumber, tomatoes, red onion, celery, and capers, then gently fold in the flaked salmon, adding more dressing, salt, pepper, lemon juice, or reserved pasta water as needed.
Cover and refrigerate for at least 30 minutes, or up to an hour, to let the flavors meld. Just before serving, stir well, add the remaining dressing to refresh, and garnish with fresh dill or parsley.