Are you getting this different behavior across different projects or different stacks of the same project?
The AWSX output types did change a while back so I suspect you were on a previous version and updated recently.
You need to use the publicSubnetIds output like this in the latest AWSX version:
No matter how you like to participate in developer communities, Pulumi wants to meet you there. If you want to meet other Pulumi users to share use-cases and best practices, contribute code or documentation, see us at an event, or just tell a story about something cool you did with Pulumi, you are part of our community.