In /etc/docker there is a file key.json, that is recreated after starting docker. Somehow this key is in the way. I deleted it and then sudo snap refresh. Now everything is working again.
I think this was likely caused by the following change:
In particular, it changes /etc/docker from a directory bind to a symlink. If the host system has a /etc/docker directory present, then the layouts code will fail to place a symlink at the location. It might also fail if /etc/docker had been created as a directory in the mount namespace created by the previous revision of the snap, when trying to update that mount namespace.
It looks like this particular change has been reverted, with the fix likely being available on the edge channel now: