When I was in high school my German teacher taught us to tip by default by rounding up and paying with exact change. Is that still a thing when everyone is paying with card?
Yes. Usually you tell the waiter the final round amount including tip you want to pay and then they start the card transaction with that.
Paying in cash is still common at German restaurants though.
I'm German and in the rare instance I eat out in an actual restaurant, I still do that "rounding up" if I've been happy with the service. Cash or card is not really an important factor for that scenario.
Let's say the bill says someting between 67€ - 72€, I would round that up to 80€.
Or sometimes (not every time though) when I'm getting a Döner kebab and it's ~7.50€ I'll round that up to the next full €.