What is the best way to fix a crack in an acrylic bathtub?
When you have a crack in the bottom of the tub, the area around it will flex and bend (even if it is only slightly), tending to put stress on the crack and making the crack want to continue to grow/lengthen.

The first goal is of course to plug the leak and keep water in the tub.  But the only proper way to do that is to hold the sides of the crack together and prevent them from flexing away from each other.  The key to that is tensile strength in the repair.

Supporting the bottom of the tub from underneath will help reduce the flexing.  But foam will not provide that support.  You can compress it easily by poking your finger in it with almost no effort; forget about the weight of a whole person.  (Foam is good for temperature insulation or for deadening sound if the tub sounds too hollow.)  To support the weight and prevent flexing, you need a bed of mortar or something solid; my acrylic tub required that in its installation instructions.

Bondo will not provide any tensile strength across the crack.  If the crack was over a solid mortar bed, Bondo might be OK (but I'd still question what flexing caused the crack to begin with).  Bondo is essentially talcum powder in epoxy resin (plastic).  The epoxy resin is strong, but will still crack like the acrylic.

To provide the tensile strength across the sides of the crack, you need strong fibers like fiberglass.  Instead of powder in epoxy resin, you have strong glass fibers in epoxy resin, giving the strength to hold up to the stress and flexing.  They make boats from pure fiberglass. They don't make boats from pure Bondo.

Fiberglass is definitely the right repair for this.