Is emulation and/or virtualization faster when the host and guest systems are more similar?
Yes, virtualization on the same architecture will be a lot faster, if the architecture has built-in support for virtualization (as modern x86 processors do).  With hardware support for virtualization, most code will run at full speed.

If you want to "virtualize" onto a different architecture, then under the hood the VM will probably end up doing emulation.  Emulation is much slower.

To understand why, I suggest you do some more background reading about how virtualization and emulation work.  You could start with Wikipedia: https://en.wikipedia.org/wiki/Virtual_machine and https://en.wikipedia.org/wiki/Hardware-assisted_virtualization and https://en.wikipedia.org/wiki/Hardware_virtualization and https://en.wikipedia.org/wiki/Emulator.  If you'd like more details, you could check out an appropriate textbook (e.g., a good operating systems textbook).



The operating system most likely won't matter -- at least, there's no fundamental reason why it needs to make a difference.  (It might make a difference for engineering reasons rather than scientific reasons, e.g., due to a 32-bit vs 64-bit OS, or due to lack of support for features used by the VM software.)  The only way to know for sure is to do some experiments: measure performance on workloads you care about.