Thanks a lot Devon. Actually, I've done the 'flip coins' three times(each time with all these coins), I find that if I do binom.test(counts>30) for each replicate, there is ~2000 coins with padj<0.05, but the overlapped coins of these three is just ~900.
I also do this using DEseq2(a very good software), with two conditions(head or tail) and each of three replicates, I find that ~2000 coins have padj<0.1.
Then I add up the counts of three replicates for head and tail, separately. And do binom.test(counts>60) again, this time with ~2000 coins too. The overlap coins between binom.test and DESeq2 is 83%. This means that low counts may not have enough power to discover the difference, just as you said. Besides, DESeq2 and binom.test have ~300 inhomogeneous coins in addtion to the overlap. I would adopt the DESeq2 result since I think it is more reliable.
I've seen the related explanation in http://varianceexplained.org/statistics/interpreting-pvalue-histogram/ but I'm still confused with this.