Heat the oil and garlic in a small saucepan over low heat until the garlic is tender, about 30 minutes. Set aside.
For the grouper:
In a mortar and pestle, mix 1 1/2 tablespoons oil with the garlic, rosemary, thyme and chile. Rub the mixture over the fish and cover with plastic wrap. Refrigerate for 1 hour.
Preheat the oven to 350 degrees F (180 degrees C).
Heat the remaining 1 1/2 tablespoons oil in a skillet over medium-high heat. Sprinkle the fish with salt and pepper, then sear on the skin side until crisp and golden brown, about 5 minutes. Continue cooking in the oven until the flesh is flaky, about 25 minutes.
For the roasted cipollini and tomatoes:
Heat the oil in a medium pan over medium-high heat. Add the cipollini and cook until tender, about 15 minutes. Add the tomatoes and garlic confit without the oil (just the garlic cloves). Cook over high heat until the cipollini are golden brown, about 5 minutes. Add the butter and season with salt and pepper.
To serve, transfer the grouper to a platter, top with preserved lemons and drizzle with olive oil. Spoon the roasted cipollini and tomatoes on top of the fish. Garnish with the cilantro and parsley.
Wash the lemons very well. Cut each lemon lengthwise in quarters without slicing all the way through, leaving the lemons whole. Place the lemons in a sterilized jar. Add the salt, lemon juice, peppercorns and kaffir lime leaves and mix well. Add more lemon juice if needed to just cover the lemons. Close with a lid and refrigerate. Stir the lemons every day or two to help dissolve the salt. Allow the lemons to cure for at least 1 week. Rinse under cold water before using.