Battery life is an area that may be difficult for smaller phone makers to compete on. I think Apple especially puts a ton of engineering effort and coordination into making iOS and their apps work efficiently with their hardware, reducing complexity, runtime cycles, and power consumption as much as possible, on top of already highly-efficient ARM hardware.
Over years of doing that (kaizen), the result is optimized hardware/software fusion with industry-leading battery life. But it seems like it takes a non-trivial amount of additional engineering time and effort to accomplish this, that will be difficult to match by smaller mobile tech startups.
I hope the open source community around Librem and Pine will be able to replicate that effort, but I'm not sure this kind of consistent incremental upgrade work is attractive enough to volunteer FOSS developers. And being maximally effective at it most certainly requires the parent company to coordinate the effort across hardware, software, internal teams, and external volunteers.
I worked on an embedded system with an Allwinner chipset. We tried to reduce power consumption, not to save battery since it was a cabled system, but to reduce heat. It turns out nobody, not Allwinner who provided the BSP, not the board designer, nor the final customer who developed the application software cared to optimize the OS much. The CPU had four cores, but only one was occupied most of the time. But all cores were at 100% frequency. Configurable voltages were also all on the upper edge. I enabled frequency scaling, switched to the correct scheduler, and now the board was much cooler and ran with more than twice the performance.
I'm always surprized how many low-hanging fruit there are in these kind of systems.