I take it you have a reasonable job that your girlfriend knows about?
She must know you're not 21 or 22. How else could you get a degree, and a job, plus all the all the other things you've done in your life? EG bought a house, bought a car that a 22 year old couldn't get insured on, travelled to 30 different countries in the world etc etc etc.
Just carry on being a really fun / enjoyable / responsible / mature / boyfriend with leadership and practical life skills that tolerates all her shortcomings and doesn't nag or crititcise or control her. And who gives her the best sex life she's ever had. Do all that and the age issue will take care of itself, regardless of how you tell her or how she finds out. Because she's not daft and she's not going to throw away the best boyfriend she's ever had or will ever have over a stupid lie that you told her in the early stages of your relationship.
As a little tip, do not be apologetic about your age. And sort of see if you can get away with not being apologetic about you lying about it.Don't be a jerk about it. Aim to be cool and confident about your age and to not make a mountain out of a molehill about your age.
Chances are she won't break up with you if you lied about your age if everything else is right in your relationship with her.
Or if she does, more fool her. In this worst case scenario, you can move on with confidence that you had a beautiful girlfriend before and you'll be able to get another beautiful girlfriend again in the future.
If when she finds out, if she says something like "You liar! I hate you!" don't get into an argument. Just say something disarming like "Do you want to know what else I've lied about?" with a smile on your face. Or "Gee, I guess I'm not the Arch Angel Gabriel after all... Although I'm nearly as old as him."
Next time (if there is a next time) a woman that you are chatting up asks you your age, reply with a joke response like "I'm old enough to be your father, and if I were your dad I'd be asking what are you doing out so late?"