Chop the leeks and onion fairly finely: use the pulse button if chopping them in a food processor, so they don’t turn to mush. Melt 25g/1oz butter in a large frying pan placed over a lowish heat and fry the vegetables gently for about 10 minutes, stirring frequently, until soft. Set the pan aside to cool.
Strip off all the herb leaves and put them in a food processor with the remaining butter, the cheeses, breadcrumbs and the cooled vegetables. Season, then pulse until the mixture is a rough, sticky, dough-like mass.
Preheat the oven to 200C/gas 6/fan 180C. Place the chicken with the large cavity facing towards you. Remove and discard any fat remaining inside the opening. Now gently separate the skin over the breast area from the flesh beneath: use the tip of a small knife to get going, then gently ease your fingers in between and work them to the far end on both sides of the breast bone.
Without tearing the skin, push in dollops of stuffing, massaging them right down and over the flesh. (Put any leftover stuffing into the small neck cavity.) Pull the skin back into place and seal in the stuffing by stitching 2-3 wooden toothpicks through the edges of the opening, like a needle in a tapestry. You can make the stuffing up to 24 hours ahead, keeping it cling-filmed in the fridge.
Put the chicken in a snug-fitting roasting tin, smear the skin with oil and season. Roast the chicken, breast-side up, for 30 minutes. Turn the chicken on its side, basting with any juices, and roast for a further 30 minutes, then roast for an equal period on the other side. Now turn the chicken breast-side up again, and continue to roast for 10-30 minutes, or until the juices run clear when a skewer is poked into the thickest part of the thigh.
Leave the chicken to rest in the tin for 15-20 minutes, loosely draped with foil. To serve, first remove the toothpicks, then carve the chicken, spooning some of the soft stuffing onto each serving.