Cook the chopped bacon in a Dutch oven over medium heat for 6 to 8 minutes until browned and crisp. Transfer to a paper-towel-lined plate, leaving the rendered fat in the pot, then pour off all but about 2 tablespoons.
Melt the butter in the bacon fat over medium heat, then stir in the onion, celery, and red bell pepper. Cook for 5 to 6 minutes until the onion is translucent, then add the garlic and cook 1 minute more until fragrant.
Sprinkle the flour evenly over the vegetables and stir constantly for about 2 minutes so the flour coats everything and loses its raw smell. The mixture will look thick and pasty.
Slowly pour in the chicken broth, stirring to smooth out any lumps. Add the potatoes, reserved corn cobs, bay leaf, thyme, and smoked paprika, then bring to a gentle boil and reduce to a simmer. Cover partially and cook 12 to 15 minutes until the potatoes are fork-tender.
Stir in the corn kernels and simmer uncovered for another 5 minutes so the corn cooks through and releases its sweetness.
Discard the corn cobs and bay leaf. Use an immersion blender to pulse the soup a few times, blending roughly a third of it while leaving most of the kernels and potato chunks whole.
Lower the heat to the barest simmer and pour in the heavy cream and whole milk, stirring gently. Warm through for 3 to 4 minutes without letting it boil, then taste and season generously with salt and black pepper.
Ladle the chowder into bowls and top each with the crisp bacon, sliced green onions, and chopped chives. Serve hot with extra black pepper at the table.