Use non-CPU device type and id for host accessible memory (#25043)
### Description
<!-- Describe your changes. -->
Use the non-CPU device type and id for host accessible memory to make
the link between CPU and the non-CPU device explicit.
Update the data transfer implementations to check vendor id.
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->