Girona (which I think figured in Game of Thrones?) has an atmospheric medieval center with a walkable wall, a couple of old churches, a Jewish-history museum and an art museum. It makes a fine base for side trips to Figueres for the Dali Theatre-Museum, the white-washed former fishing village of Cadaques (now a tourist destination) and the medieval village of Besalu with its fortified bridge. There are bus connections to Cadaques and Besalu from Figueres. Figueres, Cadaques and Besalu are all closer to Girona than to Barcelona, so you avoid a lot of Barcelona-Girona round-trips by staying in Girona for a few nights, plus you get to enjoy Girona. I haven't looked recently, but I think you'll find hotels in Girona about the same price level as those in Barcelona. You didn't express concern about budget, but I can tell you Figueres would probably be a considerably cheaper place to stay than Girona. Unfortunately, it's really not all that interesting a city, at least to me.
By the way, there's a fabulous jewelry collection covered by the ticket to the Dali Theatre-Museum. It's over-the-top but doesn't take long to see. You should get your tickets to the DT-M a bit in advance, because they can sell out if a tour bus or two shows up. The tickets are timed. I was told it's OK to go to the jewelry collection (nearby but in a separate building) before the time shown on your ticket.
On the French side of the border there's the picturesque coastal town of Collioure.
I haven't been to Carcassonne, but it wouldn't be a long detour from your route to Barcelona.
I'm not good at predicting what teenagers and pre-teens might enjoy, having none of my own.