To answer your question:
Instead of Update () use LateUpdate () which is called after update therefore after your character moves…
To advance your project (I used to use what your doing but ever since I discovered this I’m going to use it)
Use Cinemachine from the asset store or from the import package and in there it had this kinda thing but with so much more flexability and freedom.
Very powerful tool.