As already mentioned in a comment the solution described should work fine.
Are your sure you have set Batch Size = 1
in the lambda event source?
Your description perfectly matches with the default Batch Size = 10, where your lambda ignore the other 9 events.
BTW I strongly suggest you also to support multiple events in a single lambda, this will result in a low execution time overall and lower costs.