Update - tore it all down this morning, head gaskets were both good, a very small casting defect that caused a raised portion on one cylinder. Cylinder sleeves were absolutely perfect, looks like the mower has hardly ever been used. Replaced both head gaskets and torqued to spec. Tore apart the carb to rebuild, the bowl around the solenoid had a ton of rust. The needle was green and looked horrible, the small rubber gasket that funnels gas to each cylinder had one hole swollen and the other gunked up. This was most definitely the cause of one side running rich. Rebuilt the rest of the carb, new gaskets and seals everywhere. I noticed the plastic intake was also slightly warped, I put a very thin layer of black RTV on the portion warped, it sealed extremely well. Adjusted the valves, new valve cover gaskets, new fuel pump, added a fuel shut off, and voila! Engine ran so well I was worried it was about to blow. So, I checked the governor and set to factory location, then went ahead and adjusted the springs on the throttle mechanism for the carb. Started it up again, and wow! This engine has never ran, sounded, or felt like it did today. I was shooting grass out 5-6 feet, it was faster, and never once bogged down. For $50 all in, it was more than worthwhile and all problems solved.