As you point out the reason to prefer the presence of the attributes height and width is that it avoids ugly, distracting and possibly expensive reflowing of content.
What we see here, I think, is two valid and desirable sets of principles colliding. Yes it's desirable for some reasons to separate content and presentation and yes it's desirable to minimise the transfer of data, reprocessing of the same data, the delay between requesting a representation and the user perceiving the representation and so on.
Because of the way that the separation of structure and representation have been divided between HTML and CSS - and in particular because the CSS is usually retrieved after the HTML these concerns need to be traded off according to the demands of the application, the specific delivery context and so on.
I don't think there is any point in being religious or purist about the separation of concerns between HTML and CSS. They are tools. And they were not mandated by God.
Since the server knows at the point of receiving the original request enough about the delivery context to say what size the image needs to be, what's the big deal about it telling the silicon-slave-which-is-the-device know what size of image to expect, by putting the image size in the markup? Yes, for sure that increases the care with which the developer needs to create the original HTML, but in my view trading developer time for user time is hardly ever a good trade off to make - and really can't be considered to be good practice from a usability perspective.
What's missing here, I think, is reasonable tooling that lets the developer focus on concerns such as usability, functionality and so on, and lets the silicon-slave-which-is-the-server figure out the best way of realising the developer's intentions. As you say, let the server figure out what image format to use. Equally let the server figure out how best to create a representation of the entire page or application. Might be a PDF for example.
Until we enter some dream world in which such tools exist - and indeed maybe create some underlying standards that are more friendly to the existence of such tools - let's keep height and width as important elements of allowing a superior user experience.