Oleksandr Zinchenko smashed Ukraine in front with a powerful drive but a deflected shot from Emil Forsberg levelled matters before half time.
Sweden lost Marcus Danielson to a red card in extra time after a VAR check.
And, with penalties looming, Dovbyk – one of 12 substitutes used – headed a dramatic winner from close range.
Ukraine had crept through from the group phase with three points and a negative goal difference while Sweden topped their section with seven points, ahead of Spain.
However, the match in Glasgow was an even contest throughout, with both sides out on their feet by the final whistle.
With so many changes in personnel and a sending off, there was no rhythm or shape in extra time.