Pat the lamb dry and unroll it completely. If it's tied, cut the twine and lay it flat.
Scatter the chopped garlic evenly over the lamb, followed by the rosemary, salt, and black pepper. Press everything in so it sticks.
Roll the lamb back into a tight log and tie it with kitchen twine every couple of inches.
Heat olive oil in a large Dutch oven over medium-high heat. Place the lamb cut-side down and sear until deeply browned, 4 to 5 minutes. Don't turn it. Remove the lamb briefly and lower the heat.
Add the onions to the pot and spread them out. Place the lamb back on top, seared side down.
Pour in the chicken stock. Crack in more black pepper. Squeeze the lemon halves over everything, then drop the squeezed lemons into the pot.
Cover the pot and transfer to a 325°F oven. Cook for 3 to 3½ hours, until the lamb is tender enough to pull apart.
Let the lamb rest for 10 to 15 minutes. Remove the twine, slice or shred, and spoon it over mashed potatoes. Top with the onions and broth.
Notes
If the pot looks dry at any point, add a splash more stock.