I see nothing wrong with the specs. Hope these are the specs of the server on which you run mongod. Do you run anything else on this? Can you share your mongod configuration file? I want to make sure you do not play with some parameters that restrict the storage engine.
Have you replaced your date object with a single native date field?
Have you played with the indexes I proposed?
If your application creates transactions only in the current month, it is worth considering using https://www.mongodb.com/blog/post/building-with-patterns-the-computed-pattern.
I do not think anybody can answer that. What I can say is that it is my preferred. So much, that as a independent old and grumpy veteran contractor, I now refuse contract that involve SQL because I have more fun with MongoDB. It helps me solve a bigger variety of problems with less planning, coding and maintenance work.