The duration literal can have only a maximum value of 23 for the hours component. Otherwise you have to create that yourself.
You could add a custom column:
you will need to change the column names in the formulas to suit your actual data

let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQ2tDIytTI2VorViVYyMbQyMLYyNAFzDI0srEzMrQwMlGJjAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Time = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Time", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Duration", each
let
Split = List.Reverse(List.Transform(Text.Split([Time],":"),each Number.From(_))),
sec = Split{0},
min = Split{1},
hrs = Number.Mod(Split{2},24),
dys = if List.Count(Split)=4
then Split{3}
else Number.IntegerDivide(Split{2},24)
in
#duration(dys,hrs,min,sec), type duration)
in
#"Added Custom"
or you could change it in place without adding an extra column:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQ2tDIytTI2VorViVYyMbQyMLYyNAFzDI0srEzMrQwMlGJjAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Time = _t]),
#"Transform to Duration" = Table.TransformColumns(Source, {"Time", (c)=>
let
Split = List.Reverse(List.Transform(Text.Split(c,":"),each Number.From(_))),
sec = Split{0},
min = Split{1},
hrs = Number.Mod(Split{2},24),
dys = if List.Count(Split)=4
then Split{3}
else Number.IntegerDivide(Split{2},24)
in
#duration(dys,hrs,min,sec)}),
#"Set Data Type" = Table.TransformColumnTypes(#"Transform to Duration", {"Time", type duration})
in
#"Set Data Type"
Result
