daily incremental synthetic backup
I'm not sure if I follow you...incremental and synthetic are mutually exclusive things in Veeam terminology. Could please clarify that a little bit? What did you choose in job options?
How is Veeam aware that corruption to the to the DB occurred?
To make an transactionally-consistent backup Veeam leverages sql internal mechanisms. It means that if your engine allows processing of transaction logs when in corrupted state then you'll need to choose point in time manually. If your database engine does not allow log processing on a corrupted instance, then point in time recovery scale will contain only non-corrupted RPs.
if we do a full backup and CHECKDB every night, and discover on Thursday morning that CHECKDB showed corruption, I could select the most recent restore point (Wednesday night), open the Veeam Explorer for SQL Server and Veeam would ignore the Wednesday night full database backup and use the Tuesday night full database and roll forwards?
Correct. First Veeam restore your VM to the most recent RP and then applies transaction logs in order to get DB as close as possiblle to the last known healthy state.