I have been having the exact same problem. I steep my specialty grains in about 3 gal of water for 45 min at 150 deg. then add DME for boil. Once chilled I top off with preboiled water.
My thought are:
1) I should start using crushed grains for the steeping, in effect doing an oddball mash/sparge.
2) Wash (sparge) the grain bag with pre-boiled water once I remove the grains from the steeping pot.
3) I generally top off in fermenter to 5.5 gal. Next batch I think I will take gravity readings at 4.5, 5 and 5 gal to see where I actually hit the intended OG. Possibly I'm diluting my wort too much.
These are just my thoughts, obviously I have spent way to much time thinking about this.