Konunun uzmanı değilim ancak sadece birinin kullanılabildiğini biliyorum. "async" özniteliği javascript'i gecikmeli yüklerken "defer" özniteliği sayfa yüklendikten sonra javascript'in yüklenmesini sağlıyor.
En azından benim bilgim bu yönde. Genelde internet siteleri için hız optimizasyonu yaparken karşıma çıkıyordu. Herhangi bir fonksiyonel hataya sebebiyet oluşmuyorsa sadece defer kullanılması yeterli olacaktır.