Max_num_segments is not working for forcemerge

Yes, max_num_segments is a maximum not a target and you may get fewer segments than requested if it makes more sense to do so. I am guessing you end up with one segment since these shards are rather small, just a few GB.