The reported 119GB vs. 128GB according to spec is because 128GB (1e9 bytes) equals 119GiB (2^30 bytes).
That can't be right because RAM has always been reported in binary units. Only storage and networking use lame decimal units.
● Bash(free -h)
⎿ total used free shared buff/cache available
Mem: 119Gi 7.5Gi 100Gi 17Mi 12Gi 112Gi
Swap: 0B 0B 0B
That 119Gi is indeed gibibytes, and 119Gi in GB is 128GB.