I agree with you, although technically, there is a third option.
Build a custom app.
For better or worse, Shopify’s Admin API is the only way to let a customer edit their own information. Here’s the documentation: https://shopify.dev/docs/api/admin-rest/2023-07/resources/customer#put-customers-customer-id
In the buy vs build argument, I doubt the ‘build’ option is cost-effective, but it is an option.