Has anyone faced a similar challenge?
Sure. Salesforce storage has always been known to be relatively expensive compared to mass storage services like Google and Amazon, so using a cost-effective storage and distribution system makes sense.
Is it even a proper way to approach this problem by offloading files to external file storage to save space?
It is a proper way to do so. For example, in a previous role, we did this so we could have the files uploaded in Salesforce as part of a custom app we built, and the files were pushed to S3 so they could eventually be served to the public.
Would there be any challenges or issues if we go ahead with this approach?
Compared to storing data in Salesforce directly, there's not much difference storing it elsewhere.
In the ContentVersion object, which is where files are stored, one option is to provide a URL ("ContentUrl"); this allows the system to provide links to externally hosted files.
You don't even need any custom UI code (LWC, Aura, Visualforce), as this is a standard object that you can just put directly onto a page layout (the Files related list), and you can even send the files to S3 via triggers that call asynchronous methods to move the files.
You could also reverse this by having a server running on EB, Heroku, or something else that listens for new files and then moves them to S3. This could be done with a simple Streaming API connection (e.g. Change Data Capture).