Hi Patrick,
Ugh, that's strange and I'm sorry that happened. It seems like a couple things are going on, of which at least one of them I have now realized belatedly, as I just ran into this with another user recently.
I don't totally understand how all these extra dependencies are interrelated, but: there are some things that we don't include in the tarball but are in our code repository, mainly because we precompile everything in the tarball and if all goes well, then these other files are not needed. In addition to lessc and npm, we also use Cypress to handle installing a number of other dependencies on install, so we don't have to store a bunch of external binaries in AtoM anymore and worry about keeping them up to date - again, these are preloaded in the tarball if I recall correctly. Perhaps npm runs cypress? Sorry that I am a bit fuzzy on the specifics right now.
In any case, from the last time this arose, I have learned that there are 2 additional files that npm is looking for to confirm other dependencies. See this thread:
Hopefully if you copy those files to your local install, it will resolve at least some of the issues.
Regarding the error: we confirmed that your database version number is correct, but: did you also drop and recreate the database BEFORE loading your sqldump as the upgrade docs suggest? If not, then it's possible that you still have some outdated database columns that are causing this issue. Once again, exactly how this triggers a PHP error is beyond my archivist knowledge base, but I have seen similar issues before that were caused by skipping this step, so if you're going to test a parallel installation, do not skip the drop and recreate per the Upgrade instructions and see if it makes a difference.
I'll see if I can gather additional suggestions for you.