Heat the oil in a large non-stick skillet over medium-high heat. Add the onion, ginger and garlic and cook, stirring, until soft, about 3 minutes. Add the chicken and cook, stirring and breaking up with the back of a wooden spoon, until crumbly and browned, about 5 minutes.
Add the mushrooms and stir until nice and soft, about 4 minutes. Stir in the hoisin sauce, soy sauce and vinegar and bring to a simmer. Cook until the liquid reduces and the skillet is almost dry, stir in the cabbage and carrot, tossing until the cabbage wilts down just a little. Remove from the heat and sprinkle in the scallions.
Serve the mixture spooned into lettuce leaves and wrapped like a taco.