Restoring an older backup onto an newer version of iOS is safe and intended by Apple.
After all, they want you to seamlessly use a newer device without having to set it up from scratch.
(I just set up a new iPad on iPadOS 17 from an iPadOS 15 backup. All perfect.)
As mentioned previously, you need an active internet connection for apps to be "restored" as they get downloaded.
What is indeed without any guarantee of working is restoring a newer backup onto an older version of iOS.
Meaning restoring a backup created under iOS 17 onto a device running iOS 16.
By default this is even blocked by Apple and you have to manually edit a parameter in the backup folder.