A chunk-size of 1000000000 means “INSERT INTO X SELECT * FROM Y WHERE PK BETWEEN 1 AND 1000000000”. Is that what you are intending? To have single transactions that large? My personal preference is to leave chunk-size at the default, because pt-osc will automatically increase the chunk size as the copy progresses. chunk-size is auto-sized based on --chunk-time which will attempt to do the maximum amount of rows per time interval. I would instead increase the time to 5s.
I would remove your set-vars lock_wait_timeout and instead set a higher retry count using --tries. pt-osc sets a low timeout on itself so that it doesn’t impact the application.
I’m also going to mention something I said above which is, you may need to consider doing your mysql 8 upgrade as a replica promotion instead of a direct upgrade. If this table is too large and too loaded with application traffic, you may just need to upgrade a replica and swap it. Or use AWS’s blue/green thing to upgrade.