Before choosing a solution, separate two things that get confused and that changes what you need.
Support is whether your spine stays in a neutral line. That is a function of your weight, your build and how you sleep, and getting it wrong is what produces aches.
Feel is how the surface behaves at the top, plush, springy, sinking. That is preference.
A lot of firm-versus-soft disagreements are actually a support difference wearing a preference costume. Two people of noticeably different weight need genuinely different support to end up in the same spinal position, which is why a medium fails both - it is not a compromise, it is the wrong support for both of them in opposite directions.
Why that matters: feel can be adjusted on top of a mattress; support largely cannot. A topper changes the surface. It does not stop a heavier person sinking too far into something too soft for them.
So the question to answer first is whether your difference is weight-driven or taste-driven:
- Similar weights, different taste: a topper on one side works well and is the cheap answer.
- Meaningfully different weights: you need different support, and that means either a split setup or a bed with genuinely independent sides.