I agree. We've also had many rejections due to policies that weren't clearly stated up front, such as the price requiring to be in the button rather than below it. Apple should have given 10 examples of Dos and Don'ts with screenshots. Or even give five approved templates, so you can just change the price, duration, app name, etc and you're guaranteed to be approved.
As another example, we put the terms and conditions ("subscription will renew unless canceled...") in a web view. Apple rejected us telling us to put it in the binary. We put the HTML locally, but still in a web view to display it. Is that considered part of the binary? Apparently not. We then made it plain text and didn't use a web view. But it wasn't okay, to have this behind a button. It has to be on the subscription screen. However, having it scroll off the bottom of the screen is apparently fine.
This is why it's frustrating to develop for Apple's platforms — you have to play a guessing game, where each round results in a rejection and multiple days of turnaround time. I'm considering making our app paid up front to bypass this bullshit.
Since the iOS dialog box has all the necessary information, and Apple can present it in a way they consider transparent to users, why make apps redundantly display the same information, and then reject them? The sensible thing to do would be to ban only apps that give misleading information, like Rs.10 if it actually costs Rs.100. Not giving any information in your app UI like price, duration, terms, should be fine.