Here’s the cheap answer first. If all of your registers behave like this, then just don’t call reset(“SOFT”).
If this applies to only one register, you can just override the reset(…) method in that class to do nothing on a soft reset:
class some_reg extends uvm_reg;
// ...
function void reset(string kind = "HARD");
if (kind != "SOFT")
super.reset(kind);
endfunction
endclass
If it applies to multiple registers, you can create a base class with the code from above and extend all of the registers that have this behavior from that.