Have you done a full functional test of the phone? I mean every singles camera, flash, sensor, button, microphone etc.
If the phone is taking longer than usual to boot or needs several attempts, that is usually an indication that something in the boot process is holding things up. That could be caused by a faulty or partially faulty peripheral function. So the first thing to do is to test everything out. If something doesn’t work, then that’s where you would want to explore a parts replacement. Once known-good parts fail to resolve an issue, that’s when you can consider a logic board level issue.