Both levels have their strengths and neither is ‘better’ than the other and they actually compliment each other.
When deciding on your testing strategy it’s important to understand the benefits each testing level brings to ensuring you’re building a quality product and how that’s reported to team members.
There will be bugs that take longer to detect via Cypress compared to unit testing due to the need to fire up more infrastructure to conduct the test.
Ultimately Cypress will be testing more of the app as it’s testing it at a higher level but the feedback loop will be longer and as the codebase grows it might be tedious for developers to run all the checks.
It’s great to think as integration testing as being more tied to ‘what the user does’ but I would argue with the right reporting structure in place (such as bi-directional traceability) then you can get that at any level.