E se vuoi che sia opzionale, devi mettere la doppia specifica in @GetMapping cioè "/greeting/{name}" e anche "/greeting" (non so come si esprime in Kotlin) e poi mettere required=false nel @PathVariable.
A quel punto hai o una stringa non-null oppure null. In alternativa al null puoi anche ricevere un Optional<String>
P.S. in Java si mette @GetMapping({"/greeting/{name}", "/greeting"})
In Kotlin sarà forse uguale o similare ...