Fry 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 until fragrant (about 30 seconds). Stir in the flour and cook for 1 minute. Slowly stir in the broth, scraping up any browned bits from the bottom of the pot.
Add celery, potatoes, bay leaf, thyme, and cream-style corn. Bring to a simmer and cook until potatoes are tender, stirring occasionally (about 15-20 minutes).
Stir in the corn kernels and milk (or cream). Simmer over low heat (do not boil) until the corn kernels are tender, but still slightly crunchy (about 5 minutes). Discard bay leaf.
Season shrimp with Old Bay. Stir in the shrimp and cook until opaque, about 4 minutes.
Stir in parsley; season with salt and pepper, to taste. Ladle into bowls and garnish with additional bacon, herbs, or sliced green onion.
