Bring a large pot of heavily salted water to a boil. Cook rotini until just al dente according to package instructions. Reserve ½ cup pasta water before draining. Set pasta aside.
In a large skillet over medium heat, melt the butter. Add diced onion and bell pepper. Cook 5–7 minutes until very soft but not browned.
Add grated garlic and cook 30 seconds until fragrant.
Stir in Cajun seasoning and salt. Cook 30–45 seconds to bloom the spices in the butter. Pour in white wine and simmer 2–3 minutes until reduced by about half.
Reduce heat to medium low. Slowly stir in milk and heavy cream. Simmer gently 4–6 minutes until slightly thickened. The sauce should coat the back of a spoon but remain silky.
Stir in crawfish tails and reserved crawfish fat if using. Cook only 2–3 minutes. Do not overcook.
Stir in Parmesan until melted. Add lemon juice and black pepper. Taste and adjust salt or Cajun seasoning as needed. If sauce is too thick, add a splash of reserved pasta water. Add drained rotini to the skillet and toss gently to coat. Cook together 1–2 minutes to allow flavors to meld. If you find the sauce is a touch too loose after adding the pasta, just let it simmer for another minute or two while tossing everything together. The pasta will absorb some of the sauce and it'll tighten up beautifully.
Top with sliced green onions and serve immediately.