If you have no SDK then the only way is the raw and dangerous way. You edit the files directly.
As such, you make folder of originals where you put the original form of the file so in case you fudge something up you can always revert the last change. Likewise If you want to "turn the mod off" you just put the original files into game's directory. Then you make folder of your modded versions of these files. And based on whether you want the mod active or not you put original or modded files to game's folder. Most of what you'd change is in form of XML files which you can open, read, edit, even in Notepad++. Though I'd recommend at least Sublime Text, it's free, it's convinient.
This is however tidious. You must study the code to know what to change, you must test a lot, there is a lot of things that can break randomly. Just changing the order of tags that define terrains will make movement range go crazy.
Example. You want to change Food that Citizen eats. Defaulty it's 2. Let's say you want 1. You must find the constant that sets this. After tidious search, you may find that in Civ6/Base/Assets/Gameplay/Data there is GlobalParameters.xml file which contains set of constants having certain value set. There is constant that sounds something like CITY_FOOD_CONSUMPTION_PER_POP. It has Value set to 2. Change it to 1, save the file and the magic is done. This is all text files so using any text editor is no problem unless it uses formatting.
As for foreign mods, I can't say for certain. I don't use any mods, I also don't use SDK since I am changing the entire game so it's more convinient for me to rewrite things directly. I would guess these mods come in folders containing files that you can edit the same way. Some as XML files, some as sql commands.