Cover the potatoes with cold salted water. Bring to a simmer and cook for 15 to 18 minutes, until tender but not collapsing. Drain well.
Meanwhile, place the cod in a saucepan with the fish stock. Cover and poach gently for 6 to 8 minutes, until opaque and easy to flake. Reserve the poaching liquid.
Make the Sauce:
Melt the butter over medium-low heat. Add the onion and cook for 8 minutes until soft without browning.
Stir in the flour and cook for 1 minute. Gradually whisk in the warm milk and reserved poaching liquid, then simmer until smooth and lightly thickened.
Finish:
Add the potatoes and mash only a few times so irregular pieces remain. Fold in the cod gently, season with the salt and white pepper, and warm through without boiling.
Spoon into bowls, scatter with chives, and serve immediately.
Notes
Avoid vigorous stirring after adding the cod so the fish keeps natural flakes.
Refrigerate leftovers for up to two days and reheat gently with a splash of milk.