Storing large files (~1GB) in MySQL
(OK, assuming that files bigger than 4GB must be stored in a table...)

Going past 4GB requires chunking of some form, since that is the LONGBLOB limit.

There are many settings that will trip you up.  The settings occur in MySQL server, mysqldump, MySQL replication, Apache, networking, various timeouts, etc, etc.  A 1MB chunk might be safe for most situations; 1GB is very likely to hit some limit that will be hard to get around.  max_allowed_packet, for example, has a hard limit of 1GB, but a practical limit much lower.  Anyway, there is not much code or speed difference between 200 chunks of 1GB and 200K chunks of 1MB.  In fact, smaller chunks might be faster.

When I implemented something similar a decade ago, I decided that a BLOB of 50KB was a good chunk size, and I compressed each chunk separately with client code.  My setup involved replication, so I was careful to insert each chunk separately so as not to hog the replication stream.

Shoveling 50GB around will take a lot of time.  Do not do everything in a single InnoDB transactions.  Instead, store chunks optimistically in separate transactions and worry about trash only if you crash before the final store of the master record.

Most image formats are already compressed, so it is a waste to re-compress such.

Yes, your 2 tables are approximately 'correct'.  No, I don't see a 5x problem.  However, there might be 2x degradation over simply storing as a file.