Melt the butter in a large stock pot over medium-high heat. Add the onion, carrots, bay leaf, garlic, pepper, and garlic powder. Let everything cook for about five minutes until the onion turns soft and fragrant.
Stir the flour directly into the vegetable mixture. It will look thick and pasty at this stage, and that's completely normal. This step is what gives the chowder its signature creamy body later on.
Slowly add the chicken stock, a little at a time, stirring constantly so the flour doesn't clump. Keep pouring and stirring until all the stock has been incorporated into a smooth, thin base.
Stir in the diced potatoes and drained corn. Let the pot cook on medium-high heat for about 15 minutes, or until the potatoes begin to soften around the edges.
Pour in the half and half along with the whole milk. Stir gently to combine everything into a smooth, creamy base. This is the point where the soup really starts to look like chowder.
Add your shredded or chopped cooked chicken into the pot. Let everything simmer together for about 20 more minutes, or until the potatoes are fork-tender. Taste and add salt as needed before serving.