Check valve clearance, if off, a valve adjustment might be needed to correct wrong valve clearence which could cause random misfire in different cylinders and trigger all mentioned P0300 codes , you can google YouTube and find a lot of video!
in general for honda engine, Intake valves clearance incline to be loose, and exhause valves incline to be tighten after a certain mileage, maybe after 100k miles. you can find their specs probably on the engine hood.
this valves issue can cause engine not breathing well in and out.