Are you playing on a server? It actually seems like villagers "forget" their work site on server restart. Work sites lose their claim and other villagers become employed.
What I've noticed is that it seems like the piston is getting powered from the front which doesn't happen when the piston is any other orientation. Whenever the piston is facing upwards and there is a redstone signal powering the front face of the piston, the piston will get stuck in an extended position and remain in that state until broken.
Yes. This.