Sort beans and discard debris. Rinse beans, drain, and put in a 6- to 8-quart pan. Rinse ham hock and add to beans, with broth and 6 cups water. Set over high heat, cover, and bring to a boil.
Meanwhile, peel and cut carrots and onions into 1/8- to 1/4-inch dice. Add to beans, along with mustard seed, thyme, sage, cumin seed, cardamom seed, and ginger. When boiling, reduce heat and simmer, covered, stirring occasionally, until beans are creamy-smooth to bite and meat pulls easily from the ham hock, 2 1/2 to 3 hours.
Lift out ham hock and let stand until cool enough to touch, about 8 minutes. Discard skin, bone, and fat. Chop meat and return to beans. Stir over medium heat until steaming, about 5 minutes. Drain beans and save liquid. Season beans to taste with salt.