ty to uil and buildbruh for pointing me in the steam cloud direction. i followed this guide and it fixed the problem:
https://gaming.stackexchange.com/questions/102694/is-there-a-quick-way-to-delete-saves-off-of-the-steam-cloud.
every demo i record (manually or with p-rec) now correctly notes the map played, and the demo will load said correct map.
i guess i'll share my hypothesis for where/when this bug happened.
the demos began to be affected following february 24th (the first demo i loaded in the video in OP). that weekend, i put my recording config and custom folders into my tf folder. either i did something wrong when loading/removing my playing config for the recording config or vice versa, or the steam cloud took some amalgamation of my playing config and recording config and saved it, eventually loading what was missing from my playing config i placed back into my tf folder from the amalgamation saved to the cloud.
my first hint something was up was when i loaded my playing config and all my binds were fucked up, but it figured it was just a config.cfg bug so i kept playing once i fixed it, completely unbeknownst to the fact that the game decided that every map was sj_providence_tf.
unfortunately my demos recorded in this time frame are unfixable to my knowledge, since when a demo is loaded the game looks for assets used on the map the demo was "recorded on" (in this case, sj_providence). when i change the map name to say, cp_process_f9a, i get a crash since the assets of cp_process_f9a (the map the demo was ACTUALLY played on) are not on sj_providence_tf (the map the demo THINKS was played)
moral of the story is fuck false.