There is always a rational explanation for this. If your site is set up correctly, 0755 permissions should be secure enough for normal operation. Having 0400 permissions seems a bit too restrictive and useless. The owner will be able to write to the files anyway, so be it 0400, 0600 or 0700 it's the same from a practical standpoint.
If you used FTP to upload the files, having 0644 permissions is rational, but so is 0655 (the exec bit doesn't harm on properly configured hsots) and - applying the idea above that the owner's bits really have no effect on the PHP level - 0755 is the same.
There is also another reason to use 0755 permissions: PHP would create files with 0700 permissions, which will render the site inoperable if you use the FTP mode to extract the archive. 0755 permissions was the best compromise.
Another issue is that ZIP doesn't store the permissions bits, so we couldn't restore these permissions. Even though JPA does store the permissions bits, it can't really know who's the owner of the file. It's one thing to have 0700 files owned by Apache and another thing to have 0700 files owned by the FTP user. In the former case they'll be accessible by visitors, in the latter they will not be accessible by visitors - or even Joomla!'s backend - at all! So, I had to figure out a best compromise.
As far as Kickstart's inability to overwrite 0400 or 0444 files is concerned, yes this is true. If you use the FTP mode it will try to change these permissions, but FTP doesn't allow permissions modifications unless these files are owned by the FTP user and they have the write bit set. Obviously 0400 and 0444 do not, so it can't change permissions and won't be able to overwrite them. It's an OS and FTP server restriction we can't circumvent.
Your best bet for site security is to use Kickstart's FTP mode to extract files and apply Joomla!'s FTP mode without storing the FTP password. Using this trick, the only way to write to configuration files would be to supply the FTP password on the Joomla! backend each and every time you are modifying configuration files. Secure and easy, without messing with permissions. Do note that modifying permissions was a necessary workaround for Joomla! 1.0.x because it lacked an FTP layer.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!