How to Make It
Preheat the oven to 350°. Set the pork butt in a medium roasting pan and rub with 2 tablespoons of the olive oil. In a small bowl, combine the cumin, coriander, fennel, paprika, cayenne and 2 tablespoons of kosher salt. Rub the spice mix all over the pork and drizzle with the remaining 2 tablespoons of olive oil. Roast the pork for 2 hours, then lower the oven temperature to 300° and roast for about 2 hours longer, until an instant-read thermometer inserted in the thickest part of the meat registers 160°. Transfer the pork to a cutting board and let stand for 30 minutes. Pull the meat into shreds.
Light a grill or preheat a grill pan. Brush the onions with olive oil and grill over high heat, turning occasionally, until softened and charred in spots, about 8 minutes.
In a small bowl, combine the mayonnaise, mustard and garlic and spread on the cut sides of each roll. Top with the shredded pork, ham, Gruyère, pickles, jalapeños, grilled onions and Tomato Jam. Close the sandwiches and brush the outsides lightly with oil. Tightly wrap each sandwich in foil.
Place the sandwiches on the grill and top with a baking sheet and a brick or heavy can to press the sandwiches. Grill the sandwiches over very low heat, turning once, until the cheese is melted and the bread is crisp, 10 to 12 minutes. Unwrap the sandwiches and serve hot.