I have 2 hosts (h1 and h2) where h2 takes over services if h1 fails. The hostnames are unique, they have different MAC addresses, and each has one unique IP and one shared IP (moved between hosts on failover).
Is it possible to share SSL certificates between the hosts? That way up/downstream devices that look for TLS protected services think they are connecting to the same host as before (pre-failover)?
Or is there something in these certificates that's tied to the hardware and will refuse to operate properly if they are moved to a new host?
Yes, you can copy the certificates and private keys. They're plain files, not bound to any hardware.
If you copy them, you should take care that you transmit them only in encrypted form, and take care to ensure that they're not accessible to unwanted third parties.
Another alternative is to issue different - but valid - certificates for each host. Nothing stops you from requesting duplicate certificates from e..g. Lets Encrypt.