Can I update the scan type by ffmpeg?
The issue isn't the scan type but the timestamps for the video stream.

Run

ffmpeg -i bad.webm -c copy -an badv.nut


and then

ffmpeg -i badv.nut -i bad.webm -c copy -map 0:v -map 1:a new.,webm




The video timestamps start at some large non-zero number but the audio TS start at zero. That throws stream queueing out-of-whack since the sync relies on the stream with earliest start time within the file. The two step method works around that by isolating the video first into its own file.