Guarda .. non me ne intendo tanto di JavaFX (e quindi nemmeno del suo FileChooser) ma credo (penso ..) sia una cosa molto similare a quanto succede in Swing. In Swing il JFileChooser utilizza i FileFilter solo a livello "visivo", non li usa per imporre o controllare alcunché sul nome scelto. Quindi quando scegli un file per salvare, se l'utente ci mette l'estensione bene, altrimenti se non ci mette l'estensione, resta senza. Anche se magari c'è selezionato un filtro es. "File PDF (*.pdf)".
Quindi in questi casi l'approccio in Swing potrebbe essere: verifico se il nome file scelto ha una estensione e se non c'è l'ha, la imposto al file in base al filtro selezionato.
Credo che in JavaFX sia una cosa similare ...![]()