sounds like a mix of OS, EAP and JDG questions. Maybe you need to spit and use the appropriate forum for each.
I don't have knowledge regarding the OS questions with Red Hat + Pacemaker + Corosync
To have several JBoss EAP instances on different hosts the domain mode should help to keep the configuration and deployment management simple, you should have a look to the documentation how to use it.
Regarding JDG, C/S or library mode depend on your requirement.
If you use C/S you will have separate server instances for JDG. That mean the cached data not stored in your EAP JVM and you can restart EAP instances without any effect to the data grid.
You have a remote access from your EAP-application to JDG
If you use library mode the cache is inside your EAP instance and consumes memory here.
If you restart an application there might be rebalancing and resync actions for the JDG cluster as well.
But you have the cache direct in your application and also it will support transaction for JDG (only in library mode)
REPL vs. DIST caches
If you have REPL caches all entities are available local, but this might consume a lot memory, you need to have the same amount of memory for each instance
DIST caches will use a primary owner and a configurable number of backups for each entity, so you can have a cache which span several instances and can be larger than the memory on one instance.
A consistent hash algorithm know which instance must be asked for a key, so there is not a lot of traffic to find a key, also there are several configurations to optimize this.
If you have special questions for JDG I recommend to add a thread here Red Hat JBoss Data Grid