Unable to update plugins using automatic update over SSH2 since upgrade to 2.8

Description

After upgrading to WordPress 2.8 on an Apache 2.2/Linux/PHP 5.2.9 machine, plugin and core auto-update was broken. The error returned is:

Unable to locate WordPress Content directory (wp-content).

As per standard testing, I changed permissions to various and sundry forms ranging from 775 to 777 (apache runs as a user who belongs to the group that owns all files and directories underneath the document root). That fixed nothing. I tried disabling plugins (one at a time, and then all of them) and I tried going back to a bog simple default install. I then verified that things worked perfectly under WordPress 2.7.1 with the same configuration file. I then began to dig through the wp-admin backend and the codex, and set the following in wp-config.php which should have overridden the auto-discovery and used explicit paths for wp-content and plugins:

define('FTP_PUBKEY','/home/ryan/.ssh/some_wordpress_key.pub');
define('FTP_PRIKEY','/home/ryan/.ssh/some_wordpress_key');
define('FTP_USER','ryan');
define('FTP_PASS',''); \\ There shouldn't be a need for a password, but it doesn't make a difference with or without one for this ticket
define('FTP_HOST','127.0.0.1:22');
define('FTP_BASE', '/home/ryan/path/to/my/site/public_html/');
define('FTP_CONTENT_DIR', '/home/ryan/path/to/my/site/public_html/wp-content/');
define('FTP_PLUGIN_DIR', '/home/ryan/path/to/my/site/public_html/wp-content/plugins/');

The overrides were picked up by the ssh filesystem module. I dug through /wp-admin/includes/class-wp-filesystem-base.php and found where the overrides are applied (line 138) and modified it to pick up the overrides for SSH as well (as part of the testing process):

This let WordPress find the wp-content directory but now I'm receiving the following:

Downloading update from http://downloads.wordpress.org/plugin/stats.1.4.zip.
Unpacking the update.
Could not copy file /home/ryan/path/to/my/site/public_html/wp-content/upgrade/stats.1.410/stats/screenshot-1.png

I've now traced that down through /wp-admin/includes/file.php and /wp-admin/includes/class-wp-filesystem-ssh2.php to the following failing function (lines 177 through 180 of class-wp-filesystem-ssh2.php):

The downside to this simplicity is that it doesn't bloody work on my system.
I'm just about stumped now, and I'm ready to cry uncle. Can anyone, at all, make heads or tails of what the hell is going on?

My apologies. I must have that password saved, since I haven't seen the login prompt in so long. I'm attaching my phpinfo output to this ticket, as well as a sanitized version of wp-config.php.

I've enabeld debug, and double checked that I am running an unmodified 2.8 tree (without the modifications I'd made to /wp-admin/includes/class-wp-filesystem-base.php, which I mentioned in my initial report, but with the same wp-config file). I've installed the stats plugin, version 1.3.8, and after attempting to automatically upgrade I still receive:

Unable to locate WordPress Content directory (wp-content).

There is also nothing about this being thrown to the site's error log.