Cook the pasta in a large pot according to package directions until al dente, drain in a colander, and set aside.
Preheat the broiler to high and position an oven rack so the skillet will be a few inches from the heat.
In a very large oven-safe skillet over medium-high heat, melt the butter.
Add the flour to the melted butter and whisk constantly until the mixture turns light brown and bubbles for about 2 minutes to make a roux; cook just long enough to remove the raw flour taste.
Slowly whisk in the milk, smoothing out any lumps, until the sauce is smooth.
Stir in the taco seasoning and black pepper, whisking until fully incorporated.
Add 3 cups (about 12 ounces) of the grated cheddar to the sauce and whisk until melted and smooth.
Fold in the cooked pasta, drained black beans, and sliced green onions, stirring to coat everything evenly with the cheese sauce.
Sprinkle the remaining 1 cup grated cheddar evenly over the top and place the skillet under the broiler for 1 to 2 minutes until the top is melted and bubbling; watch carefully to avoid burning.
Remove from the oven, sprinkle with diced tomato, the reserved 2 tablespoons green onions, and minced cilantro, then serve immediately.