Wallet Recovery Help I’m seeking help from the Bitcoin community to recover lost funds from a wallet.dat file. Someone I know asked me to help recover their lost funds - but I’m stumped and now seeking help from the experts.
Facts

A wallet.dat file was created in approximately July 2017

Ubuntu Linux (v17.10?)
Bitcoin Core QT (v0.16.2?)
The original wallet.dat file was backed up and remains accessible


Bitcoin was purchased on Coinbase and sent offsite to an initial receiving address within this wallet
A few months pass…
Additional bitcoin is purchased on Coinbase and sent offsite to NEWLY GENERATED receiving addresses (99% sure the same wallet)
A few years pass…
The person now wants to send their funds back to Coinbase for sale
They have the original wallet.dat file, but Bitcoin Core software only displays one receiving address (the initial one)

Problems

The wallet.dat file was backed up ONLY ONCE, and PRIOR to the generation of those additional receiving addresses
The device used to create the new receiving addresses cannot be found!
Loading the wallet.dat file into current Bitcoin Core software does not display the subsequent transactions or receiving addresses! Only the initial receiving address!

Questions

Can the funds for all transactions be recovered?
What about the funds which were sent to the new receiving addresses, which were created POST BACKUP of the wallet.dat file?
BONUS: If they can be recovered, what’s the best software to accomplish this, and can it also be done for the Bitcoin Cash which presumably remain associated to this wallet.dat file? Ideally without re-syncing the whole blockchain.

I was under the impression that the wallet.dat file contained a private key which corresponds to any / all newly created receiving addresses, but I must be mistaken.
Any advice would be greatly appreciated. The person is at a dead end and I'm fresh out of ideas.
Thank you
Unfortunately, the method used to generate new keys at the time was to generate them randomly and store them in the wallet.dat file. So if you don't have a backup of the file after the address was used, it is not guaranteed that your backups will have the necessary key.
I would suggesting dumping the wallet.dat file to see all the private keys contained within it. Either it has the key for the address the funds were sent to and you are in luck or it doesn't and you are out of luck.
One easy way to do this is to use the dumpwallet command. There are also tools available to parse a wallet file and extract all the keys in it.