I would suggest you have already answered your own question - you want to start a process after n events, hence by definition, your counter must be external to the process.
You touch on a couple of guidelines I give my developers and process analysts;
Don’t program in BPMN - I find developers often try to program in BPMN. Hence sending an event to a process just so it can count them is getting awfully close to programming in BPMN.
Be very clear and concise as to when a process starts and when it ends. Hence as stated you have already determined that your process starts after 5 events. If you find you are trying to implement the counting behaviour in your process, then you may be violating my first and this second principle,. If you still think you need to implement it this way, then perhaps you really have two processes. One begins on a first event and ends after 5 events. The other begins when started by your first process.
Thanks guys! I’m looking forward to using Camunda in production
By the way, our main use case will be to build user journeys and perform communication tasks across those journeys. If anyone has a similar use case, I’d love to be in touch to exchange best practices!