prepareUpgrade with upgradeAndCall to upgrade proxy

Hi using transparent proxy, and for example does upgrades plugin support upgrading to new implementation which is already deployed and address is known. I do not know if upgrades.prepareUpgrades is for this use-case? So basically I would like to have implementation deployed and after sometime, point proxy to new implementation.

Do I do prepareUpgrades and deploy with it implementation contract, this would validate it that all is ok (storage layout etc), but actual upgrade is done with executing ProxyAdmin.upgradeAndCall manually (without upgrades plugins) ?

Cause clearly I cannot do it with upgradeProxy as here implementation is deployed with proxy in same action.
Thanks.

You could use validateUpgrade to run the storage layout validations, which is similar to prepareUpgrade but does not actually deploy new the implementation.

Then you can run ProxyAdmin.upgradeAndCall manually.