The interpretation I've always seen is that the grappled stays in the same position relative to the grappler.
So if the top of the map is North, and the grappling character grabs their hapless victim in the square North West of their own, no matter where the grappling character moves the two of them the grappled creature will stay in the square North West of the grappler.
This interpretation has the advantages of being simple and easy to implement, as well as nipping any attempts to abuse the system in the bud.
If you want a more nuanced option, I just thought of a way to keep it realistic and fairly balanced. The grappler can move the grappled character around themselves, but doing so counts against the grappler's (halved) total movement.
So with the above example of the grappled monster to the North West of the grappler, if the grappler has a normal speed of 30ft (15ft halved) they could move the grappled creature to the North or West squares for 5ft of their 15ft of movement, to the North East or South West squares with 10ft (or back to North West I suppose), or for their full 15ft of movement they could move their victim all the way to the squares East or South of themselves (or to any of the other squares mentioned by backtracking).
If they don't use all their movement rotating the grappled character, they can still move and bring the creature along, but they stay at that fixed rotational position. So they could spend 5 of their 15ft to rotate the monster to North, move 5ft in any direction to bring the monster 5ft in the same direction (staying North of the grappler's current location), and then rotate the monster again to North East for the last 5ft of their original 15ft of movement.
This method is slightly more complicated, but still pretty intuitive, and lets the players (or the DM if they're evil) pull off some cool tricks if they're clever. Drop your enemies off cliffs or into fire, or rotate them into flanking position.