I agree - an example from a note in Metalink shows that it works. The difference is the cascade clause. Here is a snippet from the article:

Example 2: Compute mode with statistics at the subpartition level only.
=========

SQl> execute dbms_stats.gather_index_stats('scott', 'idx_orders', partname => 'SYS_SUBP10367');


In that case, the statistics will be computed at the subpartition level only.

SQL> select index_name, PARTITION_NAME, SUBPARTITION_NAME, DISTINCT_KEYS, AVG_LEAF_BLOCKS_PER_KEY, AVG_DATA_BLOCKS_PER_KEY
from user_ind_subpartitions
where index_name = 'IDX_ORDERS'
order by PARTITION_NAME, SUBPARTITION_NAME;

INDEX_NAME PARTITION_NAME SUBPARTITION_NAME DISTINCT_KEYS CLUSTERING_FACTOR GLOBAL_STATS
---------- -------------- ----------------- ------------- ----------------- ------------
IDX_ORDERS Q1 SYS_SUBP10365 NO
IDX_ORDERS Q1 SYS_SUBP10366 NO
IDX_ORDERS Q2 SYS_SUBP10367 2 110 NO
IDX_ORDERS Q2 SYS_SUBP10368 NO
IDX_ORDERS Q3 SYS_SUBP10369 NO
IDX_ORDERS Q3 SYS_SUBP10370 NO
IDX_ORDERS Q4 SYS_SUBP10371 NO
IDX_ORDERS Q4 SYS_SUBP10372 NO

The other levels are not computed.