Is it possible to run code directly from ROM [...] by jumping into this region of the address space?
Game Code can of course be run from ROM. And most games will do so.
If so, why did games generally copy code into RAM before running it?
Generally sounds a bit too much here. In fact, as game cartridges range from 4 MiB to 64 MiB (and more), the existing 4.5 MiB RAM couldn't hold not even the smallest games. Even more so as most of the RAM was used for video anyway.
The N64 is very much a streaming architecture with emphasis on continuous high speed access. The MIPS CPU, as well as the video processors, did benefit from the RDRAM feature of fast read for consecutive data (burst access). As a result, RAM was, when it came to continous access about twice as fast as ROM. A peak rate of 562,5 MiB/s could be reached when reading RDRAM while ROM access, due its 'classic' structure, only yielded with 264 MiB/s about half the rate (*1).
Games did foremost copy graphics data (textures etc.) into RAM to allow best possible rendering. After than, time critical routines were as well moved to improve speed - were needed.
*1 - Yes, 264 is half of 562,5, as the RAM was 9 (!) bit wide :))