Нет, я не верю, что есть способ предложить значения по умолчанию при неассоциативной деструктуризации.
Было бы несколько способов сделать это, в зависимости от того, что вы хотите. Ближайшие к предоставленным вами фрагментам могут быть:
(let [input ["do" "re"]
defaults ["def1" "def2" "def3" "def4"]
[hey you guys] (concat input (drop (count input) defaults))]
(println hey you guys)) ;; do re def3
Если у вас есть только значение по умолчанию для 3-го аргумента, вы можете использовать:
(let [[hey you guys] (conj ["do" "re"] "def3")]
(println hey you guys)) ;; do re def3
или
(let [[hey you guys] ["do" "re"]
guys (or guys "def3")]
(println hey you guys)) ;; do re def3