It isn't a bug, they're coded differently. Raycast disregards the vector if you have a GameObject in use whereas Raycast2D does not.
This was likely something Jean added intentionally in Raycast2D when he made the actions since it was done when the 2D stuff was released in Unity whereas the original Raycast action was made in ~2011.
You can use a position. Just grab the target GameObject's position, add your offset, then inject that Vector3 as the origin.