I am already working in Unreal Engine 5.4 and I can’t figure out how to solve the same problem as you. As I understood from my tests, the accuracy of checking the light hitting the object (and casting a shadow) is done roughly, approximately like in Line Trace.
Accordingly, if the intersection object takes up a small percentage of the length of the entire light trace, then the tracing will not see it and will not grow a shadow. I had exactly the same problems with a simple Line Trace, if it goes through a thin object (not in absolute units, but in relative ones, the object itself can be 5 meters thick, but the tracing beam is 50,000 meters long), then it does not see it.
I also had similar problems when I quickly moved a non-physical thin object using Set World Location with the Sweep checkbox. The check whether the object collided with anything was successful only if the object on the path took up a large part of the path itself. That is, if I moved an object by 5000 meters, then an object standing on the path with a thickness of 5 meters did not cause a collision and passed through. And if I moved it by 50 meters, then there were no problems with collision.
So, I think this is a fundamental problem of the engine. And the main problem is that we do not have (or I do not know) the ability to adjust the accuracy of light/tracing/collision. After all, for some actions, guaranteed checks are needed, and performance is not important, even if it is 1000 times more demanding.