In a large pot, cook the chopped bacon over medium heat until crispy. Remove bacon pieces with a slotted spoon and set aside, leaving the rendered fat in the pot.
Add butter to the bacon fat. Once melted, sauté the chopped onion until soft and translucent, about 5 minutes. Add minced garlic and cook for 1 more minute.
Stir in the flour, cooking for 1-2 minutes to eliminate the raw taste, creating a roux.
Gradually whisk in the chicken broth, ensuring there are no lumps. Add the corn kernels and diced potatoes.
Bring the mixture to a boil, then reduce the heat and simmer for about 15-20 minutes, until the potatoes are tender.
Stir in the heavy cream and milk. Simmer for another 5-10 minutes until the chowder thickens to your liking.
Season with salt and pepper to taste. Ladle the chowder into bowls, top with crispy bacon, and garnish with green onions or chives, if desired.