Does he mean 4 years MORE?
Because, no. Absolutely not.
You've had his child! Engaged now and working towards a wedding within the next year or so. Year and a half tops.
If he's saying 4 more years, he's taking the Absolute piss and of course he doesn't want to marry you. Sorry but don't be taken for a mug.
If you stay with him, do.not.get.pregnant.again.
Also, by joint accounts, what do you mean?
Please tell me he doesn't have access to your main bank account!?! If so, remedy that immediately. A joint account for bills is fine but keep your main account singular. Otherwise you're taking massive risks with bells on.
Don't be passive moving forwards.
'I'd like to set the wedding for autumn 2025 or spring 2026. Which would you prefer?'.
You don't get to impregnate someone, choose to stay, say you want marriage but then take no active steps to pursue it. It's frankly, insulting.