Your assumptions look to be half-correct. As it can be found in the Microsoft documentation:
Use the MaxCapacityEx property instead.
This value comes from the Maximum Capacity member of the Physical Memory Array structure in the SMBIOS information.
MaxCapacityEx:
Maximum memory size (in kilobytes) installable for this particular
memory array. If the size is unknown, the property is given a value of
0 (zero).
This value comes from the Extended Maximum Capacity member of the
Physical Memory Array structure in the SMBIOS information.
So we have maximum installable size (in kB) of the memory array for the device (per slot). If I understood you correctly, you meant it's the total sum of both slots, but it's for one.
Number of physical slots or sockets available in this memory array.
This value comes from the Number of Memory Devices member of the Physical Memory Array structure in the SMBIOS information.
And here we have number of available slots for memory in the array for the device.
Even more info can be found in SMBIOS documentation.