There was a change in the code to remove a legacy code path. The new path assumed rrdcached was able to create directories in all situations, but apparently when you connect with a socket, it refuses to create directories.
So now the code creates a directory for every host in the local poller folder for every device, whether rrdcached is used or not. (This was how it worked before)
This is likely an upstream rrdcached bug or odd behavior.