UPlayMontageCallbackProxy::CreateProxyObjectForPlayMontage creates a proxy object and immediately calls PlayMontage. If the montage fails to play (no mesh component, no animinstance, Montage_Play itself returns 0), then it calls OnInterrupted.Broadcast - however, that delegate has not yet been added
Result: The print string "Default", however interrupted never fires
Expected: Expected results (based on source code) would be output: "Default", "Interrupted"
There's no existing public thread on this issue, so head over to AnswerHub just mention UE-66526 in the post.