I figured it out but it was a bit of a shot in the dark as this does not appear documented in OJS documentation.
Google app passwords are 16 characters long, with spaces in between each 4 characters. Example: abcd efgh ijkl mnop
So, my config file looked like:
smtp_password = abcd efgh ijkl mnop
As a test I put quotes around the password, and thus, it worked. So:
smtp_password = “abcd efgh ijkl mnop”
I did not need quotes in my previous “less secure app” complex password, which was complex but did not have spaces. It seems OJS needs quotes when there are spaces in a password.