Ideally both the shards you are reading from as well as the ones you are writing to should be located on the hot nodes, so you may want to change the tier preference (unless data_content in reality is equivalent to data_hot in your cluster). I would recommend checking how the shards are distributed across the cluster using the cat shards API.
Are you specifying slicing when you start the reindexing task so you get some parallelism?