Confirm the beans soaked in cold water for at least 8 hours or overnight until plump and roughly doubled in size. Pour into a colander, discard the soaking water, rinse under cool running water, and pick out any shriveled beans or stones. Set the seasoning packet aside.
Pour 4 cups water and 4 cups low-sodium chicken broth into a 6-quart or larger pot and add the smoked ham hock. Bring to a boil over high heat, about 10 minutes, then reduce to low, cover, and simmer for 1 hour.
Stir the drained beans, diced onion, and minced garlic into the pot. Return to a gentle simmer, cover, and cook 1½ to 2 hours, stirring every 20 to 30 minutes and scraping the bottom. Add ½ cup hot water if the liquid drops below the beans. Do not add tomatoes or lemon yet.
Use tongs to lift the ham hock onto a cutting board and cool about 5 minutes. Pull the meat away from the bone, discard the skin, fat, and bone, and shred the meat into bite-size pieces with two forks. Return the shredded meat to the pot and stir.
Stir in the diced tomatoes with their juice, the chili powder, the lemon juice, and 1 cup diced ham. Leave the pot uncovered and simmer 30 minutes, stirring occasionally, until the soup thickens. Add ½ cup hot water if it becomes too thick.
Stir in the seasoning packet and simmer 1 more minute. Taste before adding salt, then season with salt and freshly ground black pepper as needed. Remove from the heat, rest 10 minutes, and ladle into bowls with your favorite toppings.