Halve, seed and roast the squash on a sheet pan in a 400° F oven. When the squash is tender when pierced with a paring knife, cool on a rack and then scoop out the squash to measure 2.5 cups. In a large pot, melt the butter and start sauteing the onions over medium high heat, then reduce to medium low and stir every five minutes for at least an hour. You can put the heat on very low and cook it for two hours, for an even deeper flavor. When the onions are meltingly soft and golden, add the mashed squash and stir, then transfer the contents of the pan to a food processor or blender, or use an immersion blender. Puree, adding stock as needed to make a smooth puree. Add the milk, salt, paprika and cayenne and process to mix. Transfer back to the pot and heat gently over medium low heat, stirring.