Have you tried the crepe paper method?
Just did this with dd (7) and it worked so much better than I thought it would.
Tear up some crepe paper (a good handful) into some boiling water.
Stir it about and let it soak for a few mins.
Get a disposable glove and squeeze it out to darken the colour
Add some cold water so it isn’t too hot
Get your child to wear something they don’t mind staining and an old towel.
Tie child’s hair into a pony tail and then dip how ever much you want to dye into the dye.
Let it soak for 5-10 mins.
Careful when you take the hair out as it will dye anything it touches!
Towel dry off with old towel and blow dry.
It won’t last long. I imagine a good shower and it will go but it’s a nice touch.
This is dd’s hair. Before and after! She chose fushia pink
Forgot to take a photo before it happened but it shows it before anyway 