We have a similar gap between dc1&2. Dh was happy to stop at two, I wanted more. But it wasn't just about me, I accepted that it was probably more wrong to make dh have a child that he didn't want, than for me to go without the 'more' that I did want.
When dc2 reached the age dc1 had been when dc2 was conceived, I found that my desire to have more children became painful, all-consuming. Dh agreed not so much to try, as to stop trying not to. As long as we fixed an end-point, after which we would resume using BC. It was about acceptance.
Then something weird happened. I fell pregnant and had an early miscarriage. Dh was astonished to find himself grieving, and realised that, yes, he really did want another.
We went on to have dc3. I would happily have had a dc4, but dh absolutely refused, mostly on practical reasons. Although I agreed with his reasons, I found it incredibly hard to accept. It probably took until dc3 was 2y old before I accepted that I would not have any more, and at least another 2-3y before I stopped being broody.
I had many of the same problems as you, but TBH I saw them as transient. The practical issues were more significant. Were we richer, and could afford a live-in nanny, I would have gone for no4. I'm sure I could have persuaded dh! I don't know at what point I would have known "I'm done". Perhaps at 4 - I theorise that between dh and me we have four hands, so there's still space for another not happening.
We have a 2y gap followed by a 4y gap. At first it was almost like having two families at the same time, but it still works.