Certainly Godot is the safer bet (probably why they are surging so much more right now), but Unreal is nowhere near as bad as Threads. Unreal is open source, and the license specifically forbids Epic from making retroactive changes like Unity just did:
The Agreement Between You and Epic
a. Amendments
If we make changes to this Agreement, you are not required to accept the amended Agreement, and this Agreement will continue to govern your use of any Licensed Technology you already have access to.
Unreal is not open source, it's source-available. Open source generally gives freedoms like redistribution, yet that is explicitly not allowed by Unreal. To get access to the source, you need to agree to a licensing agreement with them.
That said, source-available is a lot better than most proprietary software licenses.
What did I mention that's not part of the open source definition? Btw, I'm using this one, and only mentioned redistribution, which is the first one:
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
The next big part is able derivative works, which is also not allowed as part of the Unreal license AFAIK.
Source-available is just as bad as proprietary as it distracts from the freedom that open source/free software gives. It also undermines open source by confusion which you are trying to clear up right now. Don't legitimize source-availability
That's only true if you're talking about the goals of open source/free software generally.
If we're just talking about a game engine and releasing games, being able to modify the engine is absolutely critical when optimizing a large game. So having source available is absolutely a very practical thing when using proprietary software.
So it really depends on what you're concerned about. Source available is just as good as open source in most cases if your goal is to build closed source software. If your goal is to build open source/free software, it's awful.
I'm pretty sure you can always modify code for personal use, you just can't always distribute those changes. In the case of a game engine, this would mean you could modify the engine code in development, but you could not release your game with those changes in.
Unreal allows modification and distribution, but only if you're a licensed user and only for your combined work, but you cannot distribute your own fork of Unreal, aside from a patch set for other developers.