Usually when you buy a card that has different amount of memory, you assume the GPU is the same.
Well that is your mistake for assuming. The fact is the cards are distinguishable.
MX150 has 2 variants (or was it the mx130 hmmm). One is the default (being advertised as such) and its, in name, indistinguishable slower brother, pushed into the market in silence. You wont know which one you are getting until you buy the laptop and run GPUZ, at which point it's too late.
It was the MX150, and the only difference was the max TDP. The lower TDP variant was only used in ulta-thin laptops, and IIRC it still thermal throttled, so it isn't like putting the higher TDP variant in the laptop would make a difference. The issue here is more with the designs of the laptops, not really nVidia.
As for AMD side of story, we have the 550 with different specs in the same name and I believe a 460. The new 580 for the Chinese market has it's core count in its name on the Chinese website.
Don't forget the RX 560. AMD released a different version with less shaders with no change in the name at all. The original RX 560 had 1024 shaders, then AMD released another version of the RX 560 with no name change at all, no way at all to distinguish between the versions that had 896 Shaders. No core count in the name, no added SE or whatever, just RX 560.
The gtx 460 was a bit funky v1 was 336 cores and 256 bit the v2 was 336 cores and 192 bit and the SE was 288 cores and 256 bit plus the 768mb model that was 336 cores and 192 bit lol.
Funky, yes, but still distinguishable. They added the V2 to the name, as well as an SE for the other version as well as the memory amount being part of the model name as well, distinguishing between the different versions.