As a Babylon user, with the background in 3D, I cannot go through technical details, and answer this precisely. Probably someone from dev team can answer this more thoroughly. But with that said…
I think scaling is really depending on your approach on how to implement the app logic. You probably will be able to do anything you want. U can use incremental loading, and with standard optimizations which are required for any game engine (like, baking textures and lightmaps, model optimizations…), you shouldn’t have huge issues. But, to be honest, I think it’s kinda the same thing for any other engine (Three.js or any other), so I don’t think this should impact on your choice, as you will encounter pretty much same problems with any web game engine. At the end of the day it’s WEB, and at this moment, you will have same challenges whatever you choose.
Graphics limitations (note that I am talking from user perspective, so I am not sure how valid I am to say anything :D) But, kinda same as previous, you most likely will not be able to achieve Unreal Engine or Unity level of graphics. But with the good approach, baked lightmaps, and with the level of creativity, you can achieve really good results (you can check demos on the site Babylon.js Demos)
Not sure about consoles, but it works on pc and mobile devices (with the note that iOS has some limitations, because… Apple, and they basically are not supporting WebGL2, which means that there are some features you cannot use on iOS, but I rarely encounter those).
Yes, I think it has everything you need to achieve pretty much anything you want.
You have infinite number of examples (babylon has great playground system https://www.babylonjs-playground.com/ with many many many maaany examples created by community, you can dig up almost anything). Documentation is amazing and simple, and it’s really easy to get it going, and implement any feature you want.
And last note that I want to add, and this is from my point of view most important thing. Several years ago, I was at the same point as you are, researching web game engines, trying to figure out what to use for my project, and the reason I chose Babylon.js is COMMUNITY. You will not find better community than this. The fact that at the start I said “someone from dev team can answer…” says it all. Not only that you have experienced Babylon users here, but the dev team themselves are very active here, and will try to help you out in any way possible, usually going to amazing lengths to enable you to achieve what you imagined. I don’t think you will get this treatment with any other community in same category.
So to sum up, as I kinda said a lot of things, and as I said, you can take them as valid or not, but from user experience, this is definitely way to go. Great support, a lot of examples, great playground, debugging system, amazing documentation, intuitive feature implementations, constant patches, updates, new features implementations, performance improvements. I am using Babylon.js for years, and for now I don’t think there is anything I couldn’t achieve in my projects, and I have 100+ projects done in Babylon at this point.
Of course, you will encounter some challenges here and there, but with this community you have the best chance to figure it out.
Hope this helps. Welcome to the community, and good luck.