Just out of curiosity. I'm not a native English speaker, and I had never heard such expression as "cash on me". For me, the most logical thing to say would be "cash with me". Would it sound unnatural or even wrong?
Both are fine. In England we would say both. I'd also say eg I don't have my phone/purse on me. I guess 'on me' works with things you might carry on a pocket. Otherwise you are better off saying 'with me'