If a process wants to access a memory address that is not in physical memory, the OS outsources a page frame from physical memory to the hard drive for later use. Where on the hard drive is this data / instruction stored?

Pages of process memory may be displaced from the RAM to the disk. This is called swapping or paging (the terms are essentially synonymous). The data is moved to the swap space, and loaded back from the swap space when it is needed. Linux supports both partitions (and other block devices) and files as swap space.

If the page in question contains data that's been loaded from a file, then the data is not written to swap space if the page is to be reclaimed: it is simply erased from RAM. When the process needs the page again, the data is loaded back from that file.