You can improve things with useBlurCloseExponentialShadowMap
by lowering the blur kernel:
Regarding ESM, see my answer here:
This technic only works well when occluders are in front of receivers, but the torus is self shadowing and is both an occluder and a receiver…
You can still tweak the parameters: