Mix cloves and sea salt in a small bowl. Place duck on a baking sheet. Prick skin all over with a small knife and sprinkle with spice mixture, pressing to adhere. Let sit at room temperature 1 hour.
Place a rack in lower third of oven; preheat to 300°.
Heat butter in a large dutch oven and cook shallots with juniper berries, stirring occasionally, until softened and browned around edges, 3 minutes.
Remove pot from heat. When duck has rested for 1 hour, place each leg skin side down into liquid (depending on size of pan, they may overlap quite a bit which is fine). Lightly brown the skin for about 3 minutes each.
Remove duck legs and set aside.
Place dutch oven back on stove on medium heat. Immediately add wine, brandy, dates and cinnamon sticks. Bring to a boil, and simmer until reduced by half, about 5 minutes.
Add duck legs back in. Pour in filtered water to cover three-quarters of the way up on the legs. Cover pot and braise duck legs in oven until submerged in their own fat, 1½–2 hours.
Turn duck legs skin side up and continue to braise (still covered) until tender and the bones wiggle easily in joints, 1½–2 hours longer.
Remove from oven and uncover. Let legs cool in braising liquid, then chill until fat rises to the surface and solidifies, about 2 hours. Chill in fridge until ready to do the final step before serving.
Right before serving, place a rack in upper third of oven; preheat to 425°. Remove duck legs from braising liquid, brushing off any seeds or fat clinging to surface. Place skin side up on a wire rack set inside a foil-lined rimmed baking sheet. Lightly brush legs with oil.
Roast until golden brown and skin is crisp, just a few minutes. Serve warm with caramelized apples and sides of choice.