Why does One Click Update fail on localhost using FTP with 777 permissions on site files?

This issue is solved. The permission problem has to do with how files are uploaded to the WordPress site while updating. The suPHP solution is my preference at this point because it is simpler and requires less permissions on files, but if you don’t want to do that then you’ll have to take care to get your FTP user playing nicely with WordPress.

suPHP Solution
Since posting this question, I have migrated to suPHP which makes it possible for the webserver to run as a local user instead of using the FTP user. Once suPHP was configured (See: Install suphp with apache on ubuntu) I disabled the WordPress Upgrade Constants in wp-config so it was no longer using FTP.

Now one click updating works because the update files are handled by the local user instead of the group that the FTP user belongs to. This means that file permissions of 644 and directory permissions of 755 should work because group write access is no longer needed.