Jason, sometimes those engines will run on just one cylinder and sound almost right. It really shows up when the mower is engaged, big bog, long recovery, low power.
This may be way off your problem, but won't cost much to check. Remove both plugs, reattach and ground them. Open throttle all the way without engaging the choke. Do a compression test on each cylinder. If one of them is really off, or doesn't consistently show good compression, remove the valve cover. Look for one of the push rods to be laying loose, maybe bent.
As mentioned, this may be way off base. But if you get a couple new gaskets for the rocker covers and check, reset if necessary, the valve lash on both cylinders, at least one maintenance chore is done.
BTW, is the air filter nice and clean?