Your db_file_multiblock_read_count is set to higher value. It makes optimizer to calculate the FTS as cheaper. Try changing db_file_multiblock_read_count to 16 and see. You will see that "db file scattered read" wait reducing to a noticeable value.

Abt optimizer not choosing indexes... It depends on many factors.. The kind of join you use in your query (nested loop, hash, sort merge), cardinality of the indexed columns, and number of rows fetched by each of the sub queries.