Hmm, this seems surprising. Could you share the output of GET /_cat/segments from your cluster?
There might be a bit of confusion in your question. An Elasticsearch index is made of multiple shards, each of which is made of multiple segments. Shrink creates a new index with fewer shards by copying and rearranging the segments of the original index. Forcemerge tries to combine the segments within each shard together, creating new (larger) segments and removing older (smaller) ones, but does not create a new index, and does not change the number of shards or the division of the data between shards.