Cook pasta until al dente according to package instructions. When draining, save 1 cup of the pasta cooking water and set aside. Toss the hot pasta with a little butter or olive oil if it will not be mixed with the sauce right away, to prevent sticking.
In a large saucepan, melt 2 tablespoons of butter over medium heat. Add onions with a pinch of kosher salt. Reduce heat to medium low. Cook until golden, about 15 minutes. Watch carefully as they can burn easily, you may need to reduce heat.
Add 4 of the diced garlic cloves, cook for about 30 seconds (be careful not to burn them)
Add the pumpkin puree and cook, stirring constantly for 1-2 minutes.
Add the evaporated milk and stir until smooth.
Add the spices and 1/2 teaspoon kosher salt.
Add the cheeses, stir until fully melted and incorporated, a few more minutes.
Add some pasta water until you get the consistency you like. I ended up using about 1/2 a cup.
Taste sauce and add more salt if needed.
Remove from heat and pour over pasta, mix until pasta is fully coated in sauce.
Pour the pasta into the casserole dish.
Meanwhile, heat 1 tablespoon of olive oil over medium heat. Add the last clove of diced garlic and stir until fragrant, about 30 seconds. Add the breadcrumbs and stir continually until crumbs are turning golden, about 4-5 minutes.
Sprinkle breadcrumbs over pasta in an even layer. Cover the whole dish tightly in foil and bake for about 15 minutes. Remove foil and cook for another 5-6 minutes until the top is golden and bubbly.
Remove from oven and allow to sit for a few minutes before serving.