In a food processor, combine the olive oil, cilantro, orange zest, garlic, orange juice, lime juice, jalapeño, mint leaves, oregano, cumin and salt and pulse until chopped and combined - about 30 seconds. Put the pork in a ziploc bag and pour in the marinade. Seal the bag and marinate at room temperature for 1-2 hours or overnight in the fridge.
Place pork in large crockpot with marinade. Cook on low for 6-8 hours or on high for 3-4 hours.
Turn broiler on the oven. Transfer pork to a baking sheet. Broil in oven for 5-10 minutes or until browned on top and then shred the pork. Return to the slow cooker with the remaining marinade. Add salt if needed. If you want thicker sauce, mix 2 tablespoon marinade with 1 tablespoon cornstarch and stir in.
Fried Onions
Pour the buttermilk over the onions in a large bowl. Submerge the onions and make sure everything is coated.
In another bowl, stir together the flour, salt, paprika, pepper and cayenne pepper.
Fill large pot with oil to depth of at least 3 inches and heat oil to 375F. Working in batches remove onions from buttermilk and toss in flour until coated. Add to oil and fry for 2 minutes or until golden brown. Using a slotted spoon, transfer to a towel-lined plate to drain. Repeat as necessary.
Tacos
Add tortilla to small pan and cook for 30 seconds on each side over medium heat. Remove and set aside. Repeat as necessary.
To serve tacos, spoon pork on and top with avocado, lime juice, cilantro and fried onions.
Notes
Use a thermometer to get the exact temperature to fry the onions and don't overcrowd the pan or the oil will drop in temperature.
Don't skip broiling the pork as it gives it a nice char and additional texture.
Although pork tacos are traditionally served on corn tortillas, you can use flour tortillas if you prefer.
To make the corn tortillas pliable, heat a small skillet over medium heat and cook for 30 seconds on each side. You can also cover the tortillas with a wet paper towel and place in the microwave for 30 seconds.