How do I flip an animation pose without having my character walk backwards?
You want him to walk obliquely but it's not the right way to do it as all mirror will stay in the X or Z axis, you must create your walk cycle in Pose mode orthogonally to the grid THEN switch to Object mode and rotate it 45°.

You must keep in mind that, when you mirror a pose, it will be RELATIVE TO THE LOCAL AXIS OF THE OBJECT, so if you rotate your armature 45° in Pose mode instead of Object mode, the armature is 45° rotated but the local axis is still orthogonal to the grid and will act this way for whatever mirror you'll do. If you want to rotate the Local axis you need to do it in Object mode. 

If you have secondary animations, like the head rotating, you can either do it after the rotation in Object mode OR do a second animation, the head rotation, and use the NLA to add it to the walk.

I would redo it from scratch: Close the action in the Action Editor (X button), in Pose mode select all the bones and reset the pose with alt R, alt S, alt G, in Object mode select your armature and rotate it 90° on the Z axis so that you can see its right profile in Front Ortho view, then back in Pose mode and begin with the first pose of your walk cycle.

Also, your foot is strangely set, in Edit mode I would delete the constraint, parent (Keep Offset mode) with the legIK controllers and also in Properties > Bone > Relations, enable Inherit Rotation.

If you want your character to walk sideways you have to rotate your character in Object mode, not in Pose mode