The MAN page.
https://linux.die.net/man/5/snmpd.conf
The option description.
realStorageUnits
Controlls how the agent reports hrStorageAllocationUnits, hrStorageSize and hrStorageUsed in hrStorageTable. With this option set to '0', the agent re-calculates these values for big storage drives with small allocation units so hrStorageAllocationUnits x hrStorageSize gives real size of the storage.
Example: Linux xfs 16TB filesystem with 4096 bytes large blocks will be reported as hrStorageAllocationUnits = 8192 and hrStorageSize = 2147483647, so 8192 x 2147483647 gives real size of the filesystem (=16 TB).
Setting this directive to '1' (=default) turns off this calculation and the agent reports real hrStorageAllocationUnits, but it might report wrong hrStorageSize for big drives because the value won't fit into Integer32. In this case, hrStorageAllocationUnits x hrStorageSize won't give real size of the storage.
Edit the /etc/snmp/snmpd.conf file and add the option like this example.
realStorageUnits 0
Save the file and restart the snmpd daemon and see if the plugin reports the correct value.
Other than that, you may have to install an agent on the remote server and check the memory using that.