In a stockpot or other large soup pot, combine the milk with 2 quarts (8 cups) of water. Bring to a boil. Add the corn on the cob and cook it for 5 minutes or until tender.
Using tongs, transfer the corn to a colander. Measure out and reserve 4 cups of the corn cooking liquid; discard the remainder. When the corn is cool enough to handle, cut or scrape the kernels off the cob with a large sharp knife.
Melt the butter in a large soup pot or flame-proof casserole over medium heat. Add the onion and bacon and cook, stirring occasionally, until the onion is soft and the bacon has rendered its fat, 5 to 7 minutes.
Sprinkle on the flour and cook, stirring for 1 to 2 minutes. Whisk in the reserved corn broth and the chicken stock. Bring to a boil, stirring until thickened slightly. Add the diced potatoes and cook for 5 to 7 minutes, or until just tender. Then add the corn kernels and cream. Reduce the heat to low and simmer for 5 minutes. Season with salt and pepper to taste.