Preheat oven to 400°. In a large bowl whisk together cornmeal, ½ cup flour, baking powder, baking soda, and 1 tsp kosher salt. Make a well in the center and add melted butter, 2 tbsp oil, buttermilk, egg, and honey. Stir with a wooden spoon or spatula until incorporated (leave batter lumpy). Set aside.
Heat remaining 2 tbsp oil in a 12-inch cast-iron skillet over medium heat. Add sausage, broccoli, garlic, cayenne pepper, and ½ tsp salt and cook for 2-3 minutes until garlic is fragrant and sausage is browned. Remove heat and transfer to a bowl.
Melt 1 tbsp butter in the skillet and swirl to coat bottom of pan. Pour cornbread batter into skillet. Scatter sausage and broccoli over the top. Transfer to oven and bake for 25-30 minutes until top is golden-brown and side have pulled away from skillet.
While cornbread is baking melt 2 tbsp butter in a medium saucepan over medium-low heat. Add red onion and cook for 10-15 minutes, stirring occasionally, until very soft and golden-brown. Add 2 tsp flour and cook while stirring for 1 minute. Stir in red wine vinegar and broth. Bring to a simmer and cook, stirring occasionally until thickened to coat the back of a spoon, about 4-5 minutes.
Allow cornbread to cool for 5-10 minutes before slicing. Serve cornbread topped with gravy.