О моя любимая тема, поэтому немного ворвусь.
1) Поддерживает, ввиду обратной совместимости на уровне Kafka.
Также стоит отметить, что всех стимулируют переходить на Spark Structured Streaming и поддержка Spark Streaming будет все хуже. По аналогии с тем, как в том же Spark Streaming стимулировали всех писать на Scala/Java, поэтому python версия намного меньше умеет.
2) Нет. Чтобы обеспечить exactly once нужен атомарный комит отступов и данных, а это каждый костылит по своему.
3) Проблема не в тормознутости, а в невозможности обеспечить exactly once. При хранении отступов в Kafka максимально можно получить at least once. А при auto-commit вообще никакая семантика не будет соблюдаться.