Faster than JavaScript
JS is usually fast enough.
Has a smaller file size
It really depends. If you aren’t careful, your Wasm blob can end up ballooning in size. If you start pulling in libraries and doing things like parsing JSON, your binary can get big, quick.
Wasm adds an extra layer of complexity that needs to be justified. In most cases, it’s just not worth it.
Some projects are worse than others.
From your description, it just sounds like a typical bad C++ codebase that uses every language feature under the sun, with no regard for readability. If you spend long enough trying to understand it, you probably will, but you may regret doing so. Frankly, I would just pick a different project to contribute to.