One of the fundamental challenges in software engineering is managing and minimizing complexity. This challenge is not just a theoretical concern; it has real and tangible impacts on the pace of development.
Graphite is ok, but honestly it's a solution in search of a problem
Maybe if you have a massive pr, splitting it up like this works, but that's really a planning failure. Stories should be smaller, and if you need to keep them separate for a long time, use feature branches
Feature flags are another solution. Merge the code, but have it disabled on prod until you enable the feature flag (when the whole feature is complete and deployed)