...it threw three codes. MAP P0108, TPS P0122, and VTEC P1259
the presence of DTC's is interesting. it's not unusual to get those three DTC's in combination. (for example, they can result from the throttle position sensor (TPS) being "stuck" due to extreme and/or sustained low ambient temps. there are other causes. however, interestingly if any or all of the underlying causes disappear, those the ECU clears those three DTC's on its own. regardless of any of that, my hunch is that the source of the codes is the TPS, particularly since you claim to have replaced the thing. for instance, it may need calibration. there are plenty of good videos on YouTube that detail the process of t'shooting and calibrating the TPS.
...rev up to 4000rpm and just sit there and bounce?
i'm confused by your contradictory phrasing "sit there [at 4000rpm] and bounce", which are mutually exclusive conditions. is the engine idle "sitting there" at 4000 RPM? ...or, does it "bounce" between high and low RPM?
if the former, sustained high idle has a few causes, but your focus should be on the TPS--specifically the
position of the TPS.
if the latter, this condition is called "idle hunting" (the phenomenon is known by different aliases), though its worth noting that idle hunting caused by the IACV usually does
not throw any DTC's. there are plenty of good videos on YouTube that detail the process of t'shooting idle hunting. one possible source of idle hunting is an issue with the air intake control valve (IACV). there are there are plenty of good videos on YouTube that detail the process of t'shooting the IACV. idle hunting can occur after jostling the throttle body. the throttle body is warmed by engine coolant which enters into and flows through the IACV. if the coolant lines to the IACV are removed for any reason, the Honda service manual recommends performing an air purge procedure on the coolant system as the last step in the job. there are plenty of good videos on YouTube that detail the air purge procedure process.