Am I going about this entirely the wrong way, or am I on the right track but overlooked something?
You are on the right track.
Untar the sources in /home/foo/linux (or anywhere, really - there's absolutely no reason you should be putting them in /usr/src/linux or compiling as root).
cd /home/foo/linux
gzip -dc (wherever you put the patch)/kernel-patch-beta11d-beta12.gz | patch -p2
Another useful option of patch is --dry-run - let's you test things non-destructively. Without it, failed patches are a real pain to reverse.
Next hurdle will probably be setting up the cross-compilation environment...
Good luck,
Borislav