sftp chrooted dosent work with some sftp client (Cyberduck)
The internal sftp server is running as root and therefore picks up roots umask. you can fix this by forcing the umask e.g. in /etc/ssh/sshd_config
change
Subsystem sftp /usr/lib/openssh/sftp-server
to
Subsystem sftp /bin/sh -c 'umask 0002; /usr/libexec/openssh/sftp-server'
or whatever umask you want.