Heat 2 tablespoons olive oil in a medium skillet over medium heat. Add garlic and onion and cook until soft and translucent, 6 to 8 minutes. Set aside to cool. Combine beef, pork, eggs, bread crumbs, milk, parmesan cheese, oregano, salt, pepper, and red pepper flakes in a large bowl. Add cooled onion and garlic mixture and stir until thoroughly incorporated. Shape into meatballs 1 inch in diameter (about the size of a golf ball). You’ll have about 30 meatballs.
Heat remaining olive oil in a large cast iron skillet over medium-high heat. Cook meatballs in batches until well browned on all sides, about 8 minutes total per batch. Transfer to a large saucepot or Dutch oven set on the stovetop. Pour marinara sauce over meatballs and warm over medium heat. Gently simmer until meatballs have cooked through, about 20 minutes.
When ready to serve, heat broiler with the top rack positioned about 6 inches away from the heat source. Place ciabatta roll bottoms on a parchment-lined baking sheet. Pile 3 to 4 meatballs onto each sandwich and top with 2 pieces of provolone. Place roll tops, cut side up, on another baking sheet. Broil roll bottoms until bread is toasted and golden at the edges and cheese melts, 1 to 2 minutes. Transfer sandwiches to the bottom rack and put the baking sheet of roll tops under the broiler for 1 to 2 minutes. Remove both baking sheets from the oven, close sandwiches, and serve.