Finally had some time give it a try the way I described. Honestly I'm a little surprised, since it's such a fiddly solution. I sort of just assumed something better existed, since it's no problem at all for the Unity character controller to have step height set. When people talk about that you can make a character controller with rigid body or Unity module, I think more emphasis needs to be made on that steps will be an issue.
So yeah, I got it to work by using a series of colliders to vary the hopping up height, but I have a another idea which may be more accurate (still fiddly to trial and error set up though).
1) Collider to feel for an obstacle
2) Ray cast barely off the ground. Basically starting where the character could get stuck at.
3) If it fails, the ray casting object moves higher by a very small interval. The minimum that could matter to make a difference.
4) Repeats this process until the ray object meets it maximum height (and so says don't jump) or it finds the correct height it needs to clear.
5) It then does some kind of basic math operation to use the distance the ray moved up to multiply the jump force applied. This is where it will be fiddly to find the right base force float to be multiplied.
Doing it this way may make for a smoother and more dialed in system, since using the colliders is limited to the amount of steps you manually add in, and also has the forces manually added in rather than being a consistent formula based exactly on the height which needs to be cleared.
This is just a theory though and my current simple mini game doesn't need the extra effort to try the above. I would probably try it though if I made a more serious rigid body character.
As a side note, the only reason why I went with a rigid for this little game is that it's controlled by a single analog stick (so just movement, no look), and so I needed the character to rotate to the direction of travel. After some brief research the only way I found to do this was to use the direction of force.