So what you are experiencing here is the expected behavior. As far as it showing the actual business name, I am not sure how it actually decides to display the call as a standard "Charity call" not the actual business name. One thing that I have been using to supplement Name ID on iOS is Hiya. It is a free app and it is pretty useful. I know that snn555 has been using it a long time and maybe he can pop in here and give you some more tips.
We do appreciate your feedback on this though and will make sure to pass it along.
Ios is a different animal. Even with CallKit Hiya can only ID AFTER the call is ended. Better than nothing but not as good as real-time as it's ringing.