In the end, there's no unique grammar. Consider even the simple */+- grammar; do you want to specify that the two sides of + can be numbers, products or ratios? It adds up quickly:
- 1+1
- 1+1*1
- 1+1/1
- 1*1+1
- 1*1+1*1
- 1*1+1/1
- 1/1+1
- 1/1+1*1
- 1/1+1/1
Using an intermediate rule keeps the grammar smaller at the expense of a larger AST. But as you noted, you can trivially transform the AST, in effect transforming the underlying grammar as well.
You could cut out pretty much any class at will. [1] ASTAddition [5]
would be a valid AST, too, for a grammar with a quite complex ASTAddition
but few other rules. What makes sense for you?