Divide the tomatoes, carrots, onion, and garlic between two baking sheets, keeping them in mounds at the center of each baking sheet. Pour 2 tablespoons olive oil over each mound. Then sprinkle each mound with 1 teaspoon sugar, 1/2 teaspoon pepper, and 2 teaspoons salt (reserve 1/2 teaspoon salt for later). Gently toss the ingredients with your hands to fully coat. Spread the tomatoes and vegetables in an even layer across each baking sheet and roast them in a pre-heated 300° oven for 1 hour or until lightly browned and shrivel-y.
Let the roasted tomatoes and vegetables cool slightly then transfer them to a blender in 2 batches. Pour half of the white wine into the blender with each batch and purée until smooth. Transfer puréed mixture to a medium stock pot or Dutch oven over medium-low heat.
Add the chicken stock or vegetable broth to the puréed mixture and bring it to a gentle bubble. Then turn the heat to low and add the chunks of Parmesan rind. Let the mixture simmer for at least 1 hour or until the Parmesan pieces melt by at least half (stir occasionally). After 1 hour, taste for desired flavor and richness. At this point, you can remove and discard the remaining bits of Parmesan rind or let them continue to melt into the soup for an additional 30 minutes to 1 hour. The Parmesan will add a slightly salty, nutty flavor and additional creaminess.
Once the Parmesan rinds have melted to your desired flavor, remove and discard them. Stir in the milk and season with up to 1/2 teaspoon additional kosher salt (to taste). Serve immediately or pour into an air-tight container to freeze for up to 1 month.