Dice chicken into uniform 1-inch pieces, peel and cube potatoes into ½-inch pieces (place in cold water to prevent browning), and finely dice onion, celery, and carrots. Mince garlic and measure out all spices and liquids.
Melt butter in a large Dutch oven over medium heat, then add onion, celery, and carrots and cook for 6–8 minutes until softened. Add garlic and cook 1 minute more, seasoning with a pinch of salt and pepper.
Push vegetables to the sides, add diced chicken to the center, and season with salt, pepper, thyme, and smoked paprika. Cook for 5–6 minutes, stirring occasionally, until no longer pink on the outside.
Sprinkle flour evenly over the chicken and vegetables, then stir continuously for 2–3 minutes until the mixture looks dry and pasty with a light golden color, cooking out the raw flour taste.
Gradually pour in chicken broth while stirring constantly to prevent lumps — start with 1 cup, stir until smooth, then add the rest. Bring to a gentle boil, add bay leaves, and simmer for 5 minutes.
Drain the potatoes and add them along with corn kernels, stirring to combine. Simmer for 15–20 minutes, stirring occasionally, until potatoes are fork-tender.
Reduce heat to low and slowly stir in the milk and heavy cream, heating gently for 3–4 minutes without boiling. Remove bay leaves, then taste and adjust seasoning with salt and pepper.
Ladle chowder into bowls and garnish with freshly chopped parsley and crispy bacon pieces if desired. Serve immediately with crusty bread, crackers, or dinner rolls.