The mistake I would correct first is treating an empty iPhone Screen Mirroring list as evidence that Chromecast is broken. That list uses AirPlay, not Google Cast. I separate app casting from full-screen mirroring: supported apps have a Cast button; mirroring requires a third-party option such as the DoCast app. Restarting equipment cannot fix that protocol mismatch.
Check whether discovery is allowed
Once I am using a Cast-enabled app, I would check permissions before changing equipment. Under Settings → Privacy & Security → Local Network, enable access for the app doing the casting and for Google Home.
Then temporarily disable the VPN and retry. Compare the iPhone’s Wi-Fi network name with the Chromecast network shown in Google Home. Separate wireless bands can sometimes prevent discovery, so put both devices on the same network.
A matching name is not sufficient evidence on guest, hotel, or office Wi-Fi. Client isolation can block communication between devices. Use the main home network, and check whether router or mesh settings have AP isolation enabled.
Escalate without confusing the goal
I would next update iOS, Google Home, and the casting app. Chromecast normally updates while online; restarting it may prompt a pending update. Restart the iPhone and router, and disconnect Chromecast power for 30 seconds.
Factory reset comes last because it requires setup again in Google Home. Chromecast with Google TV has Settings → System → About → Factory reset. For older models, the source procedure is to hold the device button for about 25 seconds until its light flashes.
For screen mirroring, the DoCast overview describes support across Chromecast generations, Google TV Streamer, and TVs with Chromecast built-in. The DoCast streaming guide also covers sending personal videos, photos, and music, a different task from finding an AirPlay receiver.
I would reconsider this diagnosis if a supported casting app still failed with permissions enabled, both devices on an unrestricted shared network, the VPN disabled, and software updated.