Melt butter in a large Dutch oven or heavy-bottomed pot over medium heat. Add the diced onions, carrots, and celery, cooking until the vegetables begin to soften, about 5-7 minutes.
Add minced garlic to the pot and sauté for 30 seconds until fragrant. Sprinkle the flour over the vegetables and stir constantly for 1-2 minutes to cook out the raw flour taste.
Gradually whisk in the chicken broth, followed by the milk, ensuring you incorporate the roux smoothly. Bring the mixture to a gentle simmer, stirring occasionally. The liquid should begin to thicken slightly after about 5 minutes of simmering.
Add the shredded chicken, thyme, rosemary, and bay leaf to the soup. Season with salt and pepper to taste. Allow the soup to simmer for 15 minutes, stirring occasionally.
Stir in the frozen peas and corn, then simmer for an additional 5 minutes until the vegetables are heated through. Remove the bay leaf, then stir in the heavy cream and adjust seasonings if needed.
Serve hot with optional puff pastry squares on top, garnished with fresh parsley and additional black pepper if desired.