My understanding is - Yes. For a subnet to be public,
- The VPC to which it belongs to should have an Internet Gateway attached
- Route should exist in Subnet's route table to Internet Gateway
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?