Dev here working in Japan for few years, I don't think the
main reason software salaries are low in Japan is financial, but social/cultural. Software has traditionally not seen as valued as hardware, it was just an "extra" added on top of the hardware part. Basically never went through the startup revolution of the 2000s in US.
Also Japan is still very hierarchical, so old ideas change much slower. I would say the combination of these 2 are the main reason software is not as valued as in e.g. America, but there are many others like lack of international competitiveness due to the low English skill, ZIRP, and the ones you note seem totally valid ofc.
This is a very interesting recent report about salaries in Japan (e.g. foreigners, and/or foreigner companies get paid/pay a lot more):
https://www.tokyodev.com/articles/software-developer-salarie...