Contribution - Invoice Address layout is wrong. How to fix?
Initially i thought the address are rendered using format defined at Address Settings but i was wrong when i checked the message template. The message template is designed to use address format as

Street Address Supplement Address
Supplement Address State Abbreviation
City Postal Code
Country


I did some modification to message template so that State Abbreviation is between City and Postal Code. Can you try after replacing the content of Contributions - Invoice message template with the content from here?

HTH

Pradeep