Was trying to diagnose this problem for like 3 hours before realizing I was making a really simple mistake, was even in the process of making a different post about this problem before I figured it out. So using the animation player and animated sprite nodes in godot allows you to update animations in Process and PhysicsProcess as animations wont be reapplied on the next frame if it's the same animation. This doesn't seem to be the case with the SetAnimation method however since animations seem to keep reapplying every frame and will start at frame 0 of the animation even if it's the same animation, in other words pausing the animation in real time which confused the heck out of me.
I'm not sure if there's a better method than SetAnimation to use in Process or if you can use it in a way where it doesn't have to be protected in an If statement or something so it isn't being processed/reapplied every frame. If there's not I think this is a pretty important detail to include in the Godot runtimes documentation and it might save other users a little bit of a headache.