Awesome writeup... while reading your article, I couldn't help but notice that I am passing through almost the exact same journey you did with Firebase.
I am working on a prototype for a social media app and decided to use Firebase for all the same reasons you listed- easy to learn, minimal code, etc. For somebody that has used Azure ASP.NET web api, I could easily see the initial ease of use advantages, but now I am beginning to feel the limitations.
My queries are getting much more complex and calling data from the frontend is definitely not the ideal situation. The cloud functions are also very limited.
Right now, I am trying to evaluate other backend-as-a-service options to see if I can move while still in the prototype stage. back4app is looking quite promising. Can you share some insights on the alternative platform you finally migrated to?