Have the two that aren't refreshing trades adopted each other's workstations? I had this problem when I switched over to Bedrock, and the solution for me was to remove all the workstations (villagers in carts, so no escaping), then I'd place down a workstation and the villager that claimed it, would show green sparkle effects. So effectively, he was first in the queue for a job, I'd then place the workstation in front of him, knowing that it was his assigned block. Then just repeated until all the villagers had claimed their jobs in turn. I found that you can place a workstation directly in front of a villager and someone else about six rows down could claim it. Hopefully this is the same in Java.
Actually, re-reading this I see they are all different trades which might kill my point. I would however check that they are assigned to the actual workstation in front of them.
pls delete
Have the two that aren't refreshing trades adopted each other's workstations? I had this problem when I switched over to Bedrock, and the solution for me was to remove all the workstations (villagers in carts, so no escaping), then I'd place down a workstation and the villager that claimed it, would show green sparkle effects. So effectively, he was first in the queue for a job, I'd then place the workstation in front of him, knowing that it was his assigned block. Then just repeated until all the villagers had claimed their jobs in turn. I found that you can place a workstation directly in front of a villager and someone else about six rows down could claim it. Hopefully this is the same in Java.
Actually, re-reading this I see they are all different trades which might kill my point. I would however check that they are assigned to the actual workstation in front of them.