Reporting back in - made some modifications and now behavior has changed.
I wiped the slate clean and started a new install - this time with PHP 7.2.15. Other components were unchanged:
osTicket Version v1.11 (0f229ae) — Up to date
Web Server Software Microsoft-IIS/10.0
MySQL Version 8.0.14
PHP Version 7.2.15
Now the broken menus behavior ONLY occurs when refreshing the page on a ticket.
Navigate to a ticket - menus are normal.
Navigate away from the ticket to another page, then navigate back to the ticket - menus are normal.
Navigate to a ticket & refresh the page - menus are broken.
I'm not rightly sure what differences between PHP v7.3, 7.0, and 7.2 would cause this. At the moment I've decided this behavior is acceptable since it won't be too often that a tech would refresh the page while not making any changes to a ticket.