I have to echo the sentiment here (including being "shocked"). Fast, efficient keyboard-based data entry seems to have been an afterthought. It's made more glaring considering the immense visual flair of the WPF DataGrid. Your data will burst forth from the screen, sparkle, and dance before you, but you can't add a new row by tabbing off the end of a table.
The only workaround I know of is to use Xceed's .NET Grid instead. The process is still "hacky," but it is possible.
Certain fundamental grid behavior (such as mimicking Excel data entry [e.g., Enter moves down, Shift+Enter moves up], tabbing to the next row from the last cell of a row, and the capability of tabbing "beyond" the last row to add a new one), in my opinion, would be best supported as behavioral "primitives" that can be independently enabled/disabled via properties. Such common behaviors can be time-consuming and sometimes impossible to hack in.
Of note: No matter how "easy" a hacked-in behavior may at first seem, there are almost always corner-case issues you have to contend with when they are not natively supported: For example, when grid end-users use fixed columns, it can greatly complicate the code necessary to maintain consistency with an overridden cell-navigation behavior.
This apparent oversight notwithstanding, the support I've received from the Xceed staff has been excellent so far, and that is reassuring.