In a bowl, combine the garlic, rosemary, oregano, thyme, salt, chili flakes, black pepper, lemon juice, lemon zest, and olive oil. Stir to combine. Place the lamb into a bowl or tray, pour ¾ of the marinade overtop and massage to coat. Reserve the remaining ¼ marinade for basting. Cover and refrigerate 6 hours to overnight.
Remove the lamb 1 hour before cooking and let it come to room temperature. Roll the lamb very tightly into a cylindrical shape and tie with butcher's twine. In a roasting tray, combine the potatoes, carrots and onion.
Preheat Traeger grill or oven to 500F.
If using a Traeger, place the lamb, fat side-up, on the top rack and position the tray with vegetables directly underneath. If using an oven, place the lamb, fat side-up, directly onto the upper oven rack and position the tray with vegetables directly underneath. Alternatively, place the lamb on a wire rack and position it overtop of the tray with vegetables.
Roast the lamb for 15 minutes, then drop the heat to 350F and continue cooking, basting every 45 minutes with the reserved marinade, until the lamb is browned on the outside and the thickest part registers 135F for a medium centre, around 2 hours total. If a darker crust is desired, broil the lamb for a couple of minutes longer or place it fat side-down on the grill to finish.
Let the lamb rest at least 15 minutes before carving. Serve with the roast vegetables and tzatziki.