Fill a large pot with water and bring to a boil on high heat.
Filling: Remove and discard mushroom stems. Wash mushrooms, dry well, add to the bowl of a food processor and chop finely. Add the spinach to the processor bowl and process until fine. Add the tofu pieces and process for a few more pulses. Scrape the filling into a bowl and stir in the remaining ingredients and set aside.
Cabbage: Cut off sixteen leaves of the cabbage and drop into the large pot of boiling water. Blanch for one minute, then drain and blot on paper towels. Trim off 2 inches of the thick white part of the cabbage leaves. Dice four of the white pieces and add them to the filling. Discard the rest and set the blanched leaves aside.
Chicken: Lay the pieces of chicken in a flat dish. Pour the mirin over them, season with salt and pepper, and let marinate for 15 minutes. Remove the chicken and pour the mirin into the chicken stock. Spread some of the filling over the chicken, one piece at a time, and roll up tightly, then roll again in one cabbage leaf. Lay a second leaf over the top in the opposite direction to enclose the roll. Repeat the process until there are eight rolls. Tie them with string to prevent opening while cooking. Carefully place the rolls into a 5-qt. Dutch oven in one layer, placing them tightly against each other. Add the chicken stock, bring to a simmer, and cook for 20 minutes.
Finishing:When the chicken rolls are done, remove them to a plate (using two spoons) and let them cool for 5 minutes. Then, cut the string off and, with a sharp knife, cut the rolls into 1-inch slices; arrange slices on a serving platter.
Mix the cold water with the cornstarch to make a slurry. Strain the stock, pour it into a saucepan and bring to a boil. Slowly stir in the slurry and, stirring constantly, cook until thickened, a minute or two. Spoon some sauce over the rolls and pass the extra at the table.