You have a bit of a slip in the coding, the lerp for the F-stop needs to move from the default value ( 4 ), to you required value .5.
I rigged this up, it takes the correct amount of time:
Although on it’s way, it seems to pass over a threshold that also diminishes the effect. ( It doesn’t seem to take a direct route, but that’s just the settings I’m assuming ).