@cecil87 – I worked out a temporary solution (until custom loops are part of element or pro).
Firstly, I realised that the Posts widget was already ordering the posts correctly and not displaying past events, so my original question was sort of pointless, but posts still did not display the event date, only the post date.
What I ended up doing was using a plugin that let me design my own elementor post loop (to be implemented into elementor pro eventually, so this plugin is the temporary part). Then I also created short codes for the event date and location and use these in my post loop design.
I’m out at the moment, so can post the exact plugin and shortcode functions when I’m back at my computer.