I'll answer my own question, playing around with substitue-path at the end, I realized that although the directories changed, the path that gdb prints when you execute 'bt' does not get updated with the new path. Not sure if that's considered a bug? But, if you go into the frame, you will see source data.
So lesson of the day, don't assume that substitute-path failed because 'bt' still shows the old path.