Bear in mind that using public IP addressing does not necessarily mean "public internet". Indeed, looking at the VPC FAQ we state
When using public IP addresses, all communication between instances and services hosted in AWS use AWS's private network. In reality, because S3 uses TLS the security benefit here comes down to the endpoint policies allowing you to restrict access to specific S3 buckets rather than anything else.
And because the traffic between regions goes over the same backbone network whether you are using public IP addresses or private IP addresses (via VPC or Transit Gateway peering) the latency difference will be negligible.
S3 Gateway Endpoints are zero cost but can only be accessed from within the VPC that they are created in. S3 PrivateLink endpoints can be accessed from other peered VPCs but they do come with a cost to do that.
In summary: Choose the architecture which is lowest cost and meets your requirements.
I would go with the VPC peering and interface endpoint.
Have you considered using S3 replication to each region? Then have a Gateway endpoint on each VPC.
Access S3 bucket via VPC endpoint from EC2 instance in private subnet using boto3asked a month ago
Allow Lambda to Access AWS Services+VPC+Internetasked 3 months ago
Why in this tutorial VPC creates NAT gatewaysAccepted Answerasked 7 months ago
How can Ec2 Instance in private subnet access internet via vpc endpoint?Accepted Answerasked 3 months ago
Benefits to S3 cross-region access with VPC peered interface endpoints vs. public internet using NAT gateways?Accepted Answerasked 7 months ago
How to setup interface VPC endpoints in a multi tier architecture?Accepted Answerasked 2 years ago
VPC - Public/Private Subnets - Unable to access from internetasked 3 years ago
Route53 record(s) to centralize VPC interface endpoints across multiple VPCs/regionsAccepted Answerasked 10 months ago
Lambda in VPC can't access S3asked 6 months ago
Access to Public S3 within private subnet in VPC without Internetasked 3 years ago