The bug:
If there is a workstation that is in one or more negative directions in relation to a villager, the villager will be unable to detect the workstation.
How to replicate:
Get an unemployed villager and place blocks around it to prevent it from moving.
Place a workstation in the negative directions relative to the villager.
The villager will not be able to change its profession using the workstation.
I cannot reproduce this with the steps you provided.