Rinse the soaked beans under cold running water and discard the soaking liquid. Dice the onion, carrots, and celery into ½-inch pieces, mince the garlic, chop the parsley, and cube the cooked ham.
Heat the olive oil in the Dutch oven over medium heat, then cook the onion, carrots, and celery for 6 to 8 minutes until soft and translucent. Stir in the garlic and thyme and cook for 30 seconds until fragrant.
Add the drained beans, ham hock, bay leaves, chicken broth, and water. Bring to a boil, skim any gray foam from the surface, and do not add salt at this stage.
Reduce the heat to low, set the lid slightly ajar, and simmer for 1 hour 15 minutes to 1 hour 30 minutes, stirring every 20 minutes and adding hot water if the liquid drops below the beans. Taste a few beans for tenderness.
Lift out the ham hock, cool briefly, then shred the meat and discard the skin, fat, and bone. Remove the bay leaves, return the shredded meat and cubed ham to the pot, and simmer gently for 10 minutes.
Mash about 1 cup of the beans against the side of the pot with a potato masher, or pulse an immersion blender 3 or 4 times. Stir well and simmer for 5 minutes to thicken the broth.
Stir in the black pepper and ½ teaspoon of kosher salt, then taste and add more salt ¼ teaspoon at a time as needed. Stir in the parsley, rest off the heat for 5 minutes, and ladle into warm bowls.