Bring 4 1/2 cups water and bay leaves to a simmer in a large skillet. Add fish; cover and simmer 10 minutes or until fish flakes easily when tested with a fork or until desired degree of doneness. Remove fish from pan with a slotted spoon. Cut fish into large pieces. Reserve 2 1/2 cups cooking liquid and bay leaves.
Cook bacon in a Dutch oven over medium heat until crisp. Remove bacon from pan, reserving 1 teaspoon drippings in pan; crumble bacon, and set aside. Add potato, onion, and carrot to pan; cook over medium heat 10 minutes. Add reserved cooking liquid, bay leaves, thyme, 1/2 teaspoon salt, and 1/4 teaspoon pepper; bring to a boil. Reduce heat; simmer 10 minutes. Add milk and butter; simmer 25 minutes until potatoes are tender (do not boil). Stir in fish, remaining 1/2 teaspoon salt, and remaining 1/2 teaspoon pepper. Discard bay leaves. Sprinkle with bacon.