Slice the leeks into thin half-moons, rinse well in cold water, and drain. Peel and slice the carrots into 1/4-inch rounds and cube the potatoes into 3/4-inch pieces.
Pat the salmon dry, remove any pin bones, and cut into 1-inch cubes. Keep refrigerated until ready to use. Finely chop the dill and measure out the cream, lemon juice, and allspice.
Melt the butter in a Dutch oven over medium heat. Add the leeks and carrots with about 1/2 teaspoon salt and cook for 8 to 10 minutes, stirring often, until soft and glossy.
Stir in the allspice and black pepper and cook for 30 seconds until fragrant.
Add the potatoes, seafood stock, and bay leaf. Bring to a boil, then reduce to medium-low, cover partially, and simmer for 12 to 15 minutes until the potatoes and carrots are tender.
Reduce the heat to low so the soup is barely bubbling, then pour in the heavy cream and stir gently to combine.
Add the salmon cubes in a single layer and cook gently for 4 to 5 minutes, stirring occasionally, until opaque and flaky and the thickest piece reaches 145°F. Do not let the soup boil.
Turn off the heat, remove the bay leaf, and stir in the chopped dill and lemon juice. Season to taste with salt and pepper, then cover and rest for 5 minutes.
Ladle into bowls, making sure each serving gets plenty of salmon, potatoes, and carrots. Garnish with fresh dill and cracked black pepper and serve right away.