replays seem to work completely now, big update coming soon, just need to make a lot of updates to the documentation
apologies for the longer-than-expected wait, the testing for this was extensive
in-depth explanation of the downward spiral of fixing replays below for nerds:
once whatever was causing the fairies to desync was fixed, i had initially thought that replays were completely in a working state. however, when doing some just-in-case debugging to make sure some little things happen on the exact same frame, i noticed that in the replay, the player dies a single frame earlier than what happens during gameplay. after a few more tests, i had confirmed that this had the ability to desynchronize the replay as well.
this puzzled me as i couldn't think of why this would happen, even after looking through and trying to debug some of the code for bullet collisions and player death timers. nothing really came up, and for days i would try to do incredibly stupid things like making the player read an extra dummy input during the replay, or pausing the timeline for a single frame but all of this made the desync significantly worse.
finally, i decided to just
make it so the replay ghost dies a frame later
this caused 0 issues (unsurprisingly, if the player deathbombs on the last frame during gameplay, they'll stay alive either way and deathbombing a frame later to desync the replay isn't possible as inputs aren't read while the player is dead, what foresight eh) and after a few more days of confirming every potential scenario i could think of, it seemed to have fixed everything.
however, i will still try to look into why exactly this happens as i update the engine, as it could be indicative of larger issues down the road.