Fry the chopped bacon in a Dutch oven over medium-high heat, just until lightly browned and the fat has rendered.
Add the onion and cook, stirring often, until softened, about 5 minutes. Stir in the garlic and cook just until fragrant, about 30 seconds.
Sprinkle in the flour and cook for 1 minute, stirring constantly. Slowly stir in the broth, scraping up any browned bits from the bottom of the pot.
Add the celery, potatoes, bay leaf, thyme, and cream-style corn. Bring to a simmer and cook, stirring occasionally, until the potatoes are fork-tender, about 15 to 20 minutes.
Stir in the corn kernels and the milk (or cream). Simmer over low heat, without boiling, until the kernels are tender but still slightly crunchy, about 5 minutes. Discard the bay leaf.
Season the shrimp with Old Bay, then stir them into the pot. Cook just until pink and opaque, about 4 minutes, and remove the pot from the heat.
Stir in the parsley, then season with salt and pepper to taste. Ladle into bowls and garnish with additional bacon, herbs, or sliced green onion.