Here is another useful wiki reference:
https://github.com/synthetos/TinyG/wiki/Homing-and-Limits-Setup-and-Troubleshooting
In this reference you will see explicitly that $sl=1 is necessary for soft limits to be in effect.
Also note the settings for Z axis
[ztn] z travel minimum -95.000 mm
[ztm] z travel maximum 0.000 mm
By procedural design, when the Zmax switch is operated during a homing cycle, that position is set to Z=0 for G53 coordinate system, and G54 will also be 0 as you have no G54 offset.
So $Ztm needs to be set to 0.00 and Ztn needs to be a negative number for soft limits to work
In the $$dump you first posted, you had
[zsn] z switch min "1 [0=off,1=homing,2=limit,3=limit+homing]"
[zsx] z switch max "0 [0=off,1=homing,2=limit,3=limit+homing]"
I see that you have corrected that in the latest two $$ dumps.
I believe that if you correct the $ztn and $ztm values and set $sl=1,, then rehome, you should find that soft limits will work. Do note that Z movement must be to positions <0.
What I envision from your parameters is a XYYrZ machine with GT3 belts and an 8mm leadscrew for Z, perhaps an Ox or ShapeOko2 or Xcarve.
I appears to me that you may have entered your parameters in inch mode, which makes comparison to the recommended (or start-up parameters) somewhat difficult. What I am referring to is, for example, $zvm=787, rather than $zvm=800, a typical recommended value. I also note that you X and Y velocity settings are rather low (5000 or in your case 5080) compared to typically recommended value of 16000.
I also question why your $xjm = 25, vs. a typical recommended starting value of 5000. In fact all your jerk settings seem low.
Is there a particular setup guide you are following?
I am a bit concerned about the bogus value of $atn, which should be -1.0 deg.
You are not using the A axis, so it might be benign, but sometimes crazy values like this are an indicator of corrupted parameter store in EEPROM.
What tool did you use to set parameters?
Finally - I was able to read your latest two parameter dumps, but as bitmaps (rather than the text format you posted first time) they are difficult to manipulate. For example, I will often 'diff' your parameter set against a typical or recommended set (I work in Linux space), letting the machine, rather than my eyes, spot potential issues.