The idea of using 'on' after 'have been' is perfectly natural.
However the sentence you have provided is grammatically incorrect -
I have been on this project 4 years ago. ('ago' is not used for the actions which are still continued in the present)
So first let's modify your sentence in the correct form.
- I have been on this project for the past four years.
- (Macmillan) The Vietnam War ended over 30 years ago.
- (Macmillan) It was ages ago that I saw Mick.
- (Cambridge) The dinosaurs died out 65 million years ago.
- I had seen that movie a long time ago.
- (Oxford) She was here just a minute ago.
'Ago' by its definition relates only to the things that happened in the past. So you would hardly or almost never find or make a sentence with the word 'ago' in any form of present of future tense.
Your example (I have been on this project 4 years ago.) is of the present tense.
In this example 'on' is short-formed for 'verb+ing' - Let's see how -
- I have been working on this project for the past 4 years.
- This project's been going on for the past 4 years.
- How long have you been on this project? (Asking the question by omitting the word 'working' is informal and is a less professional way. But still it is correct sentence formation)