I don't like this myself - you could perform a Schwartzian transform by temporarily copying the fourth field to the beginning of the record, sort by it, and then remove it
awk -F':' -vOFS=':' '{print $4,$0}' file |
sort -k1,1d -k2,2n -k3,3n -k4,4n -t"_" |
cut -f2- -d":"