Pat the pork dry. Score the skin and make deep slits through the meat, avoiding the skin.
Mix the garlic, oil, orange juice, lime juice, vinegar, oregano, salt, cumin, and pepper. Rub the mixture into the slits and meat, then refrigerate covered for at least 4 hours or overnight.
Roast:
Heat the oven to 325°F (165°C). Arrange the onion in a roasting pan and set the pork on top, skin-side up.
Roast uncovered for about 3 1/2 to 4 hours, basting the meat occasionally but keeping the skin dry, until tender and the center reaches at least 195°F (90°C).
Increase the oven to 450°F (230°C) and roast for 15 to 20 minutes until the skin is crisp and blistered. Rest for 20 minutes.
Serve:
Slice or pull the pork and serve with arroz con gandules and pickled red onions.
Notes
Keep the skin dry during roasting for the best crackling.
Resting the pork makes it easier to slice and keeps it juicy.