Apesar de a alternativa "b" ser a correta, o código só funcionou quando o tipo de "Data entrega" foi alterado para "Date", em #"Tipo Alterado". E, consequentemente, na coluna customizada, não foi necessário converter [Data entrega] - [Data envio] de texto para data.
let
Fonte = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjDUNzDWNzIwMlLSUTI0QeIYmMM5sTrRSoam+gYmMDkjA2SOMZwDVmimD9QKlTM2QOIYGcI5YIUW+gaWcDlTJI5rrkJJUWJecUF+UUmqUmwsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Data envio" = _t, #"Data estimada" = _t, #"Data entrega" = _t]),
#"Tipo Alterado" = Table.TransformColumnTypes(Fonte,{{"Data envio", type date}, {"Data estimada", type date}, {"Data entrega", type date}}),
#"Added Custom" = Table.AddColumn(#"Tipo Alterado", "Custom", each try Duration.Days( [Data entrega] - [Data envio]) otherwise null)
in
#"Added Custom"