Is it considered bad practice to put Vias on BGA pads?
Having vias placed on a pad is common practice. Nevertheless there are disadvantages which makes designers place vias next to a pad, in some cases even by removing some pads from the BGA footprint.

If there is a via in pad, it needs to be filled, either galvanically with copper or with some kind of non-conductive material and then covered in copper. An open hole would cause the solder to flow away from the pad, not producing a working electrical connection.

This plugging of vias is an extra step in PCB manufacturing and involves additional costs. That is why many designers don't use them if it's not absolutely necessary.

A second point is the required drill diameter: You can't place a 0.2mm hole in a pad of a 0.4mm spaced BGA. Going to 0.1mm drill size typically involves immensely higher costs.

I recently used a 49-ball 0.4mm BGA and had two options: Connect all 49 balls and use 0.1mm in-pad vias - or connect only 32 balls and use normal fan-out routing and few 0.2mm vias. The second option was less than half the cost.

There is a nice document by Lattice Semiconductor showing examples of fan-out layouts for their FPGAs.