That was the solution I eventually used to overcome one of the limitation of being able to present the movies at only the beginning of a trial. That is, I added a blank text inter-trial interval of a few seconds before the movie trial (within the trial loop), delaying the start of the movie (it works well where precise timing is not required).
I was using PsychoPy v2020.1.3 and I was not able to get .stop() working at all, the movies still remained static after their first presentation, hence substituting .seek(0) as the minimal solution.
I also had a series of movie clips with different run times, and I found that if I truncated their duration, then the remaining audio would continue to play to the end, after the movie had disappeared, even continuing after the end of the trial. The solution was to not specify duration for the movies, so that they always played to the end (collecting responses can also truncate trials early). To avoid this happening, a response collection routine can be added just after the movie trial, inside the trial loop (with the ITI mentioned above; again it works well where precise timing is not required).