As you probably know, DX doesn't work on Linux (there are "exceptions" but they aren't that good). So, you'll be wanting something OpenGL based.
All three engines you've listed work well. I know that Orge3D Has been used in professional games once or twice.
You may want to consider Unity too, but that is Windows and OSX only (for some reason, they simply refuse to support Linux). However, Unity does handle a lot of the heavy lifting code for you, and plus have a very handy UI and SDK around. It's a great start for a hobbyist, although it could work on code somewhat and is a bit awkward in some areas. This is offset by the simple fact that it is generally far easier to develop a 3D game in it then other methods, simply due to its tool chain.
Orge3D is an extremely capable and flexible engine, but it's also far less user friendly.
Irrlicht I beleive is a more user-friendly engine, but also capable of some good work too.
There's also XNA, which is probably the easiest (or at least comparable to Unity in some degree) but it's C# and DX, microsoft only.
You'll need to decide right now if you want to support linux. You say maybe, so I'd assume yes for now. You can always ditch supporting it later if you decide =]
Really, you need to look at the documentation of each engine and decide if you're up for the amount of work they each demand.
Maybe give Torgue3D a try. Its kind of mature and has just released under MIT.
I would make the decision up to the requirements of the project i work on.
E.g. if you make a full featured game with cross platform in mind and need to import user content or just content from other coders, i would go for OGRE because of its features and its community.
If you need it "more lightweight" engine -> irrlicht.
"MonoGame is an open source implementation of the Microsoft XNA 4.x Framework."
"Our goal is to make it easy for XNA developers to create cross-platform games with extremely high code reuse. We currently support iOS, Android, Windows (both OpenGL and DirectX), Mac OS X, Linux, Windows 8 Store, Windows Phone 8, PlayStation Mobile, and the OUYA console."
Sure 'dead' means not vanished from net, currently. But as this description states: "Our goal is to make it easy for XNA developers ...extremely high code reuse"
Its intented to be a safe place for existing projects more than for new projects (even if this may be possible), so it sounds at least.
If you start from scratch with an engine (as like OP, i'm suggesting), I wouldn't go for that kind of project, for several reasons.
Actually MonoGame's goal is to improve on XNA. It started way before XNA was cancelled by Microsoft as a way to compile XNA games to non-Windows platforms, but i don't think there are plans to stop it. Tamarin, the company behind Mono, makes a large part of its income from gaming uses of Mono (especially Unity and MonoGame) so there is economic incentive for MonoGame to continue.