There are so many ways to say this in German and we mix it all the time, though some ways are more prevalent in certain areas. I'm leaving out the 'regular' version of just saying the numbers and such and there's also the fact that depending on situation (or how you feel that very second) you'll just say 4:20 or 16:20.
4:05: 5 past 4
4:10: ten past 4
4:15: quarter past 4
4:15: quarter 5
4:20: ten to half 5
4:20: 20 past 4
4:30: half 5
4:35: 5 past half 5
4:40: 10 past half 5
4:40: 20 to 5
4:45: quarter to 5
4:45: 3 quarters 5
4:50: ten to 5
5:00: "full"
I'm sure I missed some from parts of Germany I've never lived in/been to.
Sometimes the actual hour is implied in a question/conversation and you just want to say that it's the full hour you're talking about and just say "Voll" or "Um". Same works with "Halb" and "ten to half" if the hour is not important or implied by context, which you can't do if you just say the numbers.
EDIT: speaking of forgetting some. While it's customary to say "10 past 4" usually nobody says "15 past 4" and instead uses "four fifteen" (actually "vier Uhr fuenfzehn") or "quarter past 4" and then at 4:20 it's "20 past 4 again".
In some regions it's (4:15) "Viertel nach vier" while it's also "Viertel fünf" because 4:45 is "Dreiviertel fünf", while in those some regions it's then "Viertel vor fünf".
(Personally, I only use Viertel, halb and Dreiviertel, otherwise it's just "siebzehn Uhr zehn" or something.)
I used an English "translation" instead of the German words for the audience here to understand better. What you mention is true and part of my list already e.g.
Note that to an English-speaking person, this is wrong, as "half 5" means 5:30. I once tried to explain that logic to a few Brits, in that the German "half 5" means "half [of the hour from 4 to] 5" instead of "half [past] 5", but to no avail.
Well this happens if you try to show what Germans say in another language ;)
So "halb fuenf" is "half 5".
Same with the "full" for "voll" and for "um" I gave up. No idea how to say that "in English". Or for that matter "4 Uhr 5" for 4:05. "4 o'clock 5" doesn't quite do it, though I guess it's the closest one might come lol!
Sometimes the actual hour is implied in a question/conversation and you just want to say that it's the full hour you're talking about and just say "Voll" or "Um". Same works with "Halb" and "ten to half" if the hour is not important or implied by context, which you can't do if you just say the numbers.
EDIT: speaking of forgetting some. While it's customary to say "10 past 4" usually nobody says "15 past 4" and instead uses "four fifteen" (actually "vier Uhr fuenfzehn") or "quarter past 4" and then at 4:20 it's "20 past 4 again".