Grease a 2 quart casserole dish, or large cast iron skillet, set aside.
Boil 4-6 quarts of water in a large pot. Add a tablespoon of kosher salt and pour in uncooked pasta. Cook until al dente, according to package directions. Drain pasta into a large colander and set aside.
Add butter to the pot over medium-low heat and melt. Stir in flour and cook for 1-2 minutes, stirring often, until golden brown.
Meanwhile, pour milk and cream into a microwave safe glass container and heat for 2 minutes. (Alternatively, heat milk in a small saucepan on the stove until hot, not boiling). Pour milk/cream mixture into the flour mixture and whisk often, bringing to a simmer while it thickens. You will know it's done when the sauce is thick and coats the back of a spoon.
Stir in the cream cheese, a pinch of salt and pepper and dry mustard. Whisk until the cream cheese is melted.
Remove from heat and add 1 ½ cups of the cheddar cheese and the Parmesan, stirring constantly until completely melted. Stir pasta into the cheese sauce.
In a large bowl mix together the warmed pulled pork and ½ cup of BBQ sauce.
Pour mac & cheese into the prepared baking dish, top with remaining ½ cup cheddar, broil briefly to melt cheese and brown to your liking. Top with pulled pork and a drizzle of BBQ sauce. Garnish with green onion if desired. Serve immediately.