How to Make It
Cover cod with water in a large bowl. Cover and refrigerate 24 hours, changing water twice.
Drain cod; transfer to a large saucepan over high. Add milk, bay leaves, and 3 cups water; bring to a boil. Reduce heat to low, and simmer until fish flakes with a fork, 16 to 18 minutes.
Using a slotted spoon, transfer fish to a plate, reserving liquid in saucepan. Discard bay leaves. Flake fish with a fork, and set aside.
Add potatoes to cooking liquid in saucepan over high, and bring to a boil. Reduce heat to medium, and simmer until tender, about 10 minutes. Using a slotted spoon, transfer potatoes to a large bowl. Add 3 tablespoons of the cooking liquid. Mash into a coarse puree.
Heat olive oil in a small skillet over medium. Add garlic and shallot; cook, stirring often, until softened, about 3 minutes. Stir into potatoes.
Add flaked cod, cilantro, lemon zest, pepper, Fresno chiles, and 2 of the eggs to potato mixture, stirring until well blended. Cover and chill until slightly firm, about 15 minutes.
Pour vegetable oil to depth of 4 inches into a Dutch oven; heat over medium-high to 360°F. Place flour in a shallow dish. Place remaining 2 eggs in a second shallow dish. Place panko in a third shallow dish. Form cod mixture into 24 balls (2 tablespoons each).
Dredge 8 of the croquettes in flour, dip in eggs, roll in panko, and place on a baking sheet lined with parchment paper. Fry croquettes in hot oil until golden brown, 3 to 4 minutes. Transfer to a plate, and cover to keep warm. Repeat with remaining croquettes, working in batches of 8 and making sure temperature returns to 360°F between batches. Sprinkle with flaky sea salt, and serve with lemon wedges.