You’re really clear on the problem, which is good: Your partner has a long-standing relationship with his ex, with whom he trash talks you. He also cheats and lies. You’ve talked to him about most of this, and although he says he’s going to try and change things, but he doesn’t. Got it.
The problem is not him, though. His behavior isn’t very pleasant or nice — but it’s consistent, and after four and a half years together, like it or not, you know who and what you’re dealing with.
It’s time for you to stop being the victim and putting yourself into this situation where you know what to expect and that you’re not going to like it. If you want someone monogamous and loyal, you’re going to have to look elsewhere — he’s not that guy. You probably already know this, but you needed me to tell you. Sometimes hearing someone else say what you know helps you to move forward.