Put hocks, stock water, onion, celery, and bay leaf in a large pot. Bring to a simmer; skim foam. Simmer gently, partly covered, 2 to 2 1/2 hours until meat pulls easily from bones. Add adjustment water as needed to keep hocks mostly covered.
Transfer hocks to a tray. Strain broth into a clean pot; discard vegetables and bay leaf. Skim fat; measure 5 cups stock, adding water if needed.
Once cool enough, pull ham from bones. Discard bones, skin, and tough connective tissue; cut meat into small pieces.
Add potatoes and pepper to measured stock. Simmer 18 to 22 minutes until tender; mash about one-quarter of potatoes in pot to thicken.
Fold in ham, milk, and cream. Warm gently 5 minutes until steaming, without a hard boil. Divide among 6 bowls.