The problem is
"How do you give XP to the player for achieving their goals, without making them wait a LONG time to get xp"?

I mean think about the Jake quest. It's the first quest you get in the entire game, and you don't complete it until well into act 2. Almost everything between when you get it and when you complete it is optional.
Does that mean you shouldn't get XP for these things? Because they're optional side-paths, that some builds will have a harder time discovering?

Results-based XP relies on allowing the player to get results quickly. But many of DOS' quests string the player along, with one clue leading to another leading to another, and you never actually get results until several hours later.