Help John watch movies!
Python 3, 115 bytes



lambda a:sorted(a[::-1],key=lambda s:(s.split()[-1],-("/"&lt;s[0]&lt;":"),a.index(s)*("/"&lt;s[0]&lt;":"),s[0].lower(),len(s)))


Try it online!

-11 bytes thanks to spec change (thanks Jonathan Allan for pointing it out)
-6 bytes thanks to Lynn