Make the ceviche: Put a large pot of water over high heat and add the lemon, garlic, bay leaves, peppercorns and salt, to taste. When it comes to a boil add the shrimp and turn off the heat. Let the shrimp poach just until they are cooked through, about 3 to 5 minutes. Remove the shrimp to a sheet pan and refrigerate. When they are cool slice them in half lengthwise. Combine the coconut milk, lime juice, onion, chiles, and cilantro in a large bowl and season it with salt. Add the cooled shrimp and let them marinate, refrigerated, for about 1/2 hour.
Prepare the coconut shells: Take a hammer and hit the coconut repeatedly (not too hard) around its equator, turning the coconut in your hand. It will eventually split into 2 halves. Drain the liquid from the coconuts.
To serve: Pour the salt onto a large platter and nestle the coconut halves into the salt so they stand upright. Divide the ceviche among the coconut halves; garnish with drizzles of lime juice, olive oil and cilantro.