I didn't say it doesn't. Renaming is a change and you see it but you don't need to see it in every place that refers to that variable. For them there is simply no semantic change they still reference the same variable.
> At least to me whitespace does convey meaning
Can you give an example? If two programs behave exactly the same how whitespace convey a semantic change?
> order of functions
You can see order changes in a structured diff as well if you want but you don't need to hundreds of line of removal and addition like text diff. You would see only the relevant thing which is reordering.