When you specify the x-systemd.automount option in /etc/fstab, you are effectively calling for creation of a systemd .automount unit. It provides automount functionality, but it has nothing at all to do with the classic autofs subsystem.
The problem is, neither the classic autofs nor the newer systemd .automount unit are part of the user session (or any interactive session at all), so they cannot easily present a password prompt. You would need a service that has a system part for actually doing the mount, and a user interface component that runs as part of the user session. Something like the D-Bus could be used for communication between them.
udisks would be the closest existing solution, but I'm not sure it even attempts to handle encrypted image files in the way you're envisioning. Even if it did, it would need the information that the mount point /encrypted is to be associated with the encrypted image /secret/data.img. But there can be multiple users on the system: popping up a passphrase input dialog for anyone/everyone whenever someone attempts to access /encrypted would reveal to all users that something encrypted exists on the system, which would be undesirable in some situations...
Your combination of fstab and crypttab cannot possibly satisfy your requirements, because fstab is referring to the encrypted image by filesystem UUID... but until the encryption is unlocked, that filesystem UUID is nowhere to be seen. So the automount unit that would be generated based on that fstab line will see on activation that there is no filesystem with that UUID and conclude that either the device is missing or there is an error on the fstab line.
There is nothing that would serve as a clue that the crypttab line would relate to that fstab line: the connection between those two configuration lines will be discoverable only after the encryption is already unlocked.
The crypttab option auto does not seem to be standard (yet?). Its opposite, noauto, exists in Debian (at least) but it means the encrypted device/image should be ignored during the system boot process. So by extension, auto would mean "activate this crypttab entry during the system boot process", which is the default... and also is the opposite of what you wanted to happen. If your (unspecified) distribution has defined this keyword in some other way, then you would have to rely on distribution-specific documentation; I cannot guess the exact technical meaning of that option.