Put the onion and butter in a dutch oven over medium-low heat and cook until the onion is a pale gold.
Add the chicken, skin side down, and brown well on both sides.
Add salt and pepper, turn the chicken over, and add the broth.
Lower the heat to a gentle simmer and add the lid, keeping it ajar.
Cook for 45-60 minutes, turning from time to time.
When the thighs are fork-tender and the meat is nearly coming off the bone, remove the pan from the heat.
If there is still quite a bit of moisture, remove the lid, turn up the heat, and boil it down to a thick gravy, turning the chicken often.
In a small bowl, beat the egg yolks with a fork and slowly add the lemon juice and optional zest.
When the chicken is off of the heat, but still in the pan, pour the egg mixture over the meat and toss to coat each piece well.
Transfer everything to a platter and serve. Spoon the sauce over each piece when serving.
Notes
If you are using a whole chicken, remove the breasts after adding the broth, then add them back to the pan after 40 minutes and cook for about 10-15 minutes more.If you are using only bone-in, skin-on breasts, they will only need to simmer in the broth for about 10-15 minutes total.