This is a false dichotomy. You don't choose between unit tests and e2e tests, you write them both. And they serve rather different purposes. Unit tests are most helpful while you are still developing your components, and can not test the system as a whole. By definition e2e tests can be run only after the system is near completion, and waiting until that point is a recipe for disaster.
I think the most important value derived from unit tests is having a quick feedback cycle. You write code, build it, and immediately get results. If your have nothing but e2e tests, it often takes much longer to verify that the piece you are working on works correctly.
Also, most people overlook this benefit of having good unit tests - easier refactoring. If your unit tests verify the interface of your component, you can confidently refactor and move stuff around - as long as all your unit tests passed, you can be reasonably confident that you have not broken anything. Of course, e2e test will still have to be run, unit tests are not meant to replace them. They are a tool in your arsenal that helps you write better code quickly and efficiently.