This function mirrors unmap_owned_and_free_vm(), but using weak unmapping (does not free the underlying physical memory)