*Sigh* I feel dumb. I should have just done this with good ole CSS. For future Googler’s,
Enqueue a CSS document in your functions.php file as so:
if (is_admin()) {
wp_enqueue_style('my_meta_css', get_template_directory_uri().'/css/meta.css');
}
Then in said meta.css document, change it as so:
.icon16.icon-post, #adminmenu .menu-icon-post div.wp-menu-image {
background: transparent url('../images/menu.png') no-repeat scroll -151px -33px !important;
}
#adminmenu .menu-icon-post:hover div.wp-menu-image, #adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image {
background: transparent url('../images/menu.png') no-repeat scroll -151px -1px !important;
}
First one for the normal state, second for the hover.