I’d suggest you to watch the explanation of implementation of that given by the one of Arch Linux supporters and maintainers: https://youtu.be/AyaOoNrYVkc
Watch from 16:35. It is comfortable to do it with x1.25 speed. Or even x1.5.
He’s also a member of the team working on tpm2 support in Linux, if I’m not mistaken.
As for my own description, I had a post on the old (now read-only) forum, but that was a time when tpm2 commands were slightly different, that was applicable to mkinitcpio and sbupdate only.
Clevis has hooks for dracut (and maybe mkinitcpio) so it embeds itself into unified kernel+initrd+cmdline and starts during the boot just like any other service. Of course first you need to set it up in userspace with binding it to luks device of your choice, and then rebuild a unified image with dracut.
Long story short, just watch the video above.