DocumentService.CheckoutFile tells the server that the file is now reserved by you. The function does not put the file on your local hard drive.
If you specify "Download" for the downloadFile parameter, the fileContents will come back with the file bytes. It's then up to you to save those bytes to disk if you want.
The localPath parameter is a bit confusing. It's just meta data for the client. It's only purpose is so that when the client checks in the file, it can verify that it's checking in the same file that was checked out.