I'll throw this out there, but it's also possible to read the entire SRAM via GPIB. It could serve as a backup, but to be honest I've never tried to put the GPIB output back into SRAM to see if it works.
There is an undocumented command:
mbrd START,BYTES
where START is the starting address, and BYTES is the number of bytes to dump. Both are in decimal. Results are returned in "A-block" format. See the programmer manual for details on A-block (page 3-24), but I'll summarize by saying it's a binary format and limited to 32767 bytes. So, BYTES can't exceed 32767.
The SRAM module is mapped into the processor memory starting at 0x00f80000 (16252928 decimal), and ends at 0x00ffffff (16777215 decimal). That's 524288 bytes.
If you wanted to try dumping all of SRAM, you would need to set up a loop and submit GPIB commands like this:
mbrd 16252928,16384
mbrd 16269312,16384
mbrd 16285696,16384
...
mbrd 16760832,16384
It would be interesting to know if this roughly matches whatever you extract from the original module. Of course it won't be exact because it's a running system. And you could also try writing the mbrd output into the new module with the programmer and see if everything is there, like your cal constants and EMC personality.
Obviously none of this is needed for your approach. I disassembled my SRAM module reader long ago and I'm mostly curious if this works, having discovered the hidden mbrd command sometime later.
So, if you're in the mood in the future...
EDIT: Bummer, but this doesn't work. See:
https://www.eevblog.com/forum/repair/has-anyone-replaced-hp8591(e)-sram-by-fram/msg5801109/#msg5801109