Hey there Leobot and welcome!
Sorry to hear about the whole Unity deal. I used to work with it a while ago, and I found it quite nice.
Speaking strictly from my experience of prototyping 2D games, no 3D (yet), the only “limit” I can think of was a cross-platform one. While I can build my project perfectly, if I have some HLSL shaders, I need to compile them on Windows and then transfer the .xnb files to linux manually. I don’t even mind that, it’s simply an extra step in the release checklist…
Performance or flexibility wise, nothing I can think of. Whatever you want, you can do. And I got crazy good performance, even to thousands of fps for a rather complex 2D tile game. Not that you’d ever use that.
Now, I have to say I realize Unity is more than just writing code, it’s also a strong editor, so I expect some will find that as a limitation. And it might take a while to adapt from that to MonoGame. For instance, I am used to writing my own importers, parsers of whatever I need, even an ingame map editor if needed:
So, it takes maybe a bit more time to do ‘some’ things, but in my view, it really gives me more control and power over certain aspects.
As developers we are all different and maybe biased so I think a fair advice on my part (being clearly biased and all that) would be for you to also do some actual exploratory coding with MonoGame (that is, if you don’t find anything dramatic to stop you from considering this framework). It might take a month or so, but at the end of it, you’ll know.
… and to be honest, it might get addictive.