My understanding is - Yes. For a subnet to be public,
So this makes me believe that just attaching Internet Gateway doesn't make it's subnets public, and private subnets can exist in a VPC with an attached IGW.
Is my understanding correct?
Yes, your understanding is correct. That's exactly how you have both public and private subnets in the same VPC.