Place the duck, onion, carrots, parsnip, leek, and garlic in a large, heavy pan or flameproof casserole.
Add the ginger, peppercorns, thyme and cilantro stems, cover with cold water and bring to boil over medium-high heat, skimming off any foam that rises to the surface. Reduce heat and simmer for 1 1/2 - 2 hours.
Strain through a cheesecloth-lined strainer into a bowl, discarding the bones and vegetables. Cool and chill overnight. Skim off any congealed fat and blot the surface with paper towels.
To make the garnish, cut the carrot and leek into 2-inch pieces. Cut each piece lengthwise in thin slices, stack and slice into thin julienne strips. Place in a large pan with the sliced mushrooms.
Pour over stock and add a few dashes of soy sauce and some pepper. Bring to boil over a medium-high heat, skimming any foam that rises to the surface. Adjust the seasoning. Stir in scallions and watercress or Chinese cabbage.
Ladle into warm bowls and sprinkle with cilantro leaves before serving.