This argument is unfortunately flawed. If the customers had been handed the software on day 1, by day 100 it would be full of security bugs, would need to be re-written for the new version of Node.js (the old one having been deprecated and also full of security bugs). They'd have to find somewhere to run it and pay someone to keep an eye on that deployment for when it does something weird that affects service. Oh and they'd have to maintain mobile apps on Android and iOS as those platforms change and break things. They might need to buy cyber risk insurance too.
AI tools do show promise of being able to handle all these things in the future, but at least for the past few years these customers had an incredible bargain vs what it would have cost them to run and maintain the application even if they had the source code for free.
If they had used a desktop Win32 binary as you suggested, that would also have needed security updates, and it wouldn't have worked on phones or macbooks, and it would have needed a back end service (see above).