Using restore_command = 'cp /tmp/receivewal/%f %p' does not use WAL partial file during backup restore process.
While this seems un-documented in the user-facing documentation the source code makes it clear this is intended behavior. If your point-in-time-recovery flow requires the use of these files you will need to manually manipulate them.
(link to article about a custom archiving process relying on pg_receivewal)
It seems unfortunate that the pg_receivewal creates files with ".partial" extensions that are semantically different from what the core system ".partial" files are. But if your archive process is custom (i.e., uses something other than archive_command) it seems reasonable that any restore_command you need to create would also be something custom. Going by the documentation for only half of the process is going to lead to these kinds of inconsistent results.