Butzbach to Strasbourg involves a long distance train from Frankfurt
to Strasbourg, so buy in advance.
I don't know about that advice. No one (Bahn, Trainline) seems to handle cross border tickets very well. Some us just know that you can use a Quer-durchs-Land-Ticket to the last stop in Germany and buy a local ticket from Kehl to Strasbourg and save a lot. No one, even the Bahn, shows that fare.
Trainline shows the fastest Butzbach to Strasbourg connection is 3H28 for $153 for 2 adults (kids free). But, for only 1H28 longer, you can use regional trains and a Quer-durchs-Land-Ticket for 51€ (also 2 adults, kids free) to Kehl, Germany. From there you can buy a local ticket to Strasbourg for 9,20€, total 60,20€ or $65.55. The QdL-Ticket has one more connection (4 vs 3) than does the Advance Purchase ticket.
A word about Advance Purchase Tickets: the most important reason to purchase tickets in advance is to take advantage of discounted ticket prices. However, this savings is offset by a risk. Super Saver ticket, once purchase, are completely non-refundable. That might not be a problem if you know you are going to be at the station at the departure time, but you can't change plans. Saver tickets are refundable, less a penalty fee. You get a voucher towards future purchase that is the ticket price minus 10€. So if your plans change and you want to use the ticket on a different day, it won't be disastrous.
You can purchase discounted tickets to Kehl, and use locally purchase tickets (9,20€) to go from Kehl to Strasbourg Gare for only 77,80€ (non-refundable Super Saver price). That's only about 30€ more than the QdL-Ticket, so maybe worth saving 1¼ hr and 1 train change.