Note that for the Atari VCS / Atari 2600, only answers #3 and #4 apply, since developers didn’t use “engines” or even compilers, instead writing their code in assembly langauge. (Presumably the assemblers didn’t improve much over the years.) Also, the VCS had no firmware, flashable or otherwise; although refined versions of the hardware were produced over the years, such as the Atari 2600 Jr., such systems were optimized for cheaper manufacturing and didn’t improve performance.
Still, there are important continuities between the answer to this question for the VCS and for modern-day consoles. And the answer is not obvious, since companies and the press usually emphasize the improvements in hardware that are made between generations of a console.