It is definitely true that you cannot upgrade the internal components (CPU, memory, NVRAM) without violating your support agreement and thus you lose support on that controller. Keep in mind that this is an appliance and not a general purpose server so, by definition, those components are a big part of what makes a 3040 a 3040. Increasing those amounts would, in essense, create a new model and that changes the software support, etc. Also keep in mind that for some of this stuff, ONTAP checks your model against the HW. So if you added memory, for example, it's quite possible that ONTAP would still use only the amount of memory associated with the model you purchased so if may not help even if you tried to do it.
I don't believe PAM II (FlashCache) is supported on a 3040. I think support for that starts at the 3070, but feel free to check with your sales team to verify. It's probably not a bad idea to lay out your situation with them and see what they can do. You may find that depending on how long you are looking to delay the upgrade, you may end up spending less upgrading the model than keeping the older one running. But your situation may vary.