I'm looking to pull assets from a local folder when developing locally, and an S3 folder when on staging/production.
Is this possible? It looks like no, but I'm hoping that's not the definitive answer: Multi-Environment S3 Asset Paths
It appears you can't alter the asset 'type'. However, I've seen configs (specifically, this one: https://designkarma.co.uk/blog/localization-multi-environment-setup-in-craft) that seem to use different urls for local vs s3 assets. That gets rid of the ability to set a cache duration and other s3 specific options, however.
Is the only real way to do this is to set CORS settings on the S3 folder to allow connections from a local development URL, and use that for local/staging, and another bucket/config for production?