The reason you're not hearing any difference between the words in those pairs is because they are pronounced the same. At least according to Wiktionary and my own subjective judgement as a German native speaker.
The difference is much easier to spot in pairs like "bead"/"bid", but that's mainly because before the voiced consonants the long vowel is actually longer than the short one, and the speakers usually add a small glide of "y" at the end of it, so it's more like "beeyd".
He was perfectly capable of making the same (German) u sound when saying other English words. Apparently it is very subtle, sometimes even for specific things like start of the word and length of the vowel. I just don't know.