What does pg_stat_all_tables.idx_scan actually mean?
Whenever an index is used, that counts as an index scan.  There is no separate counter for full index scans.  You could compare idx_scan to
idx_tup_fetch and see how any rows are returned from the index per scan on average.  But what is the point?  For the most part, it fetches the number of rows it needs to in order to do the job you assigned it.  Maybe you are missing an index that could do the job better, but looking at this stat will not tell that that is the case, nor tell you what hypothetical index that might be.

I do a lot of performance investigation and almost never look at those values, unless I'm trying to tune/debug autovac.  EXPLAIN (ANALYZE, BUFFERS), pg_stat_statements, auto_explain are the right tools for the job.