As an anecdote, about 15/20ish years ago I wrote my own webbrowser. Obviously something highly rudimentary albeit browsers were much easier to implement back then anyway. I was too lazy to read the HTTP spec (it was a hobby project and I was young and impatient) so a lot of what I did was trial and error. I too wasn't sending a host header but it took long while before I ran into any sites that rejected my HTTP requests. The web landscape was very different back then though and IPs were plentiful but it just goes to show how servers have coded around bad clients for years.
This would still be a red flag, as the service in question is their instance metadata service that provides authentication tokens.
Something that important should be integration-tested with the actual service.
Perhaps I don't understand the issue you're discussing but how would the client working on 3rd party services be a red flag when that is the desired behavior?
Their own documentation refers to that library (or did at that point in time, not sure about now).
They had implemented their own HTTP client, but forgot to add the "Host" header to requests which is required by HTTP 1.1.
Interestingly this client sent requests only to their own services, which means that they either released that without testing it or the backend once accepted faulty requests.
[1]: https://github.com/awslabs/amazon-kinesis-producer/issues/61