Is our use case suitable for a NoSQL Database solution?
I see your interest in JSON objects.


  Our database is not very large (generally under 2GB and growing
  slowly) and the entries could actually very well be broken down to
  simple json objects, which made us look at a NoSQL solution.


MongoDB is better suited for huge databases, in your case, I suggest  PostgreSQL.

You can use JSON types in PostgreSQL: https://www.postgresql.org/docs/current/static/datatype-json.html

Should be easy enough to migrate your app to PostgreSQL, because it's SQL all the way, and I doubt that you will find that stupid join limit.


  Either way, is this data / layout / query strategy something that
  resonates well with a NoSQL DB ?


Performance has costs when using NoSQL, many times, you will have to modify your code, your database schema, your server configuration. Are you prepared to pay the price?

Answering your question, I try to avoid MongoDB aggregation, preferring to manually aggregate on the spot (my source code is my SQL), but I do it for small ranges. If doing the entire table/collection, would be better to use Map-Reduce or Aggregation or custom code? It depends, who is doing the job faster?

Most of the time, people will advise to denormalize your data, but doing this can cause another range of issues. Again, pay the price.