I fully agree that software has gotten substantially more complex. There seem to be far too many levels of abstractions on top of abstractions. I do miss the days of QBasic, and that's why I'm working on the product I legitimately need to release before the end of the month.
But not every layer has the same level of low quality. For example, you brought up lazy loading. It actually can take a lot more work to properly support lazy loading, unless your framework supports it. I'm not sure what Slack uses beyond just Electron, but even in vanilla JS it's not easy to get lazy loading working properly, although the animations are very easy to get wrong with canned code.
On the note of Electron, I'm very happy to report that the last time I checked the size of my Release build for my pure Win32 app, it was sitting at 312 kb total, as a single standalone .exe file. It will of course be a bit bigger than this when I finally release it, but still, there's something so satisfying about making something with such extreme minimalism.