The ModClusterAddMetric and ModClusterAddCustomMetric handlers have two problems:
1) They only run if (context.getType() == OperationContext.Type.SERVER)
This means a client updating the subsystem config on a domain controller will not be able to have the change reflected in the domain wide model (and it won't be persisted to domain.xml)
2) If they are run on the server, they don't modify the runtime or call context.reloadRequired(). So the runtime services are out of sync with the configuration but the server state doesn't reflect that.