Discussion and understanding of defense in SWGOH is significantly hindered by the fact that the actual stat used in the damage calculation is not included in the in game character stat screen. Instead what is shown is the % damage reduction, separated for physical and special damage, that occurs when attacked by a character with zero defense penetration. This choice of display, while useful to quickly judge expected damage mitigation numbers, results in a lot of confusion when extra % defense comes from mods or abilities and also leads to myths like the defense has diminishing returns idea.
Put as simply as possible, each character has a flat number stat for armor and resistance which is used in the damage calculation, each time damage is dealt in battle. This flat value is what is modified by mods and abilities. It can only be found by back calculation from the % value in the in game stat screen or on external sites like swgoh.gg. At G13, Armor is in a range of 142 (NS acolyte) up to 781 (Fives) while resistance ranges from 63 (carth) up to 669 (Scarif Pathfinder).
For Sith Empire Trooper at g13 his armor is 453 and his resistance is 478. When modding tanks it's reasonable to aim for adding about 100% defense from mods (2 sets, 1 6dot primary and average of 6% secondary on the other mods) with an average of 15 flat defense secondary per mod an additional 90 flat defense can be achieved. Sticking with just armor, for SET this would give you a modded armor value = 453 + (453 * 100%) + 90 = 996. (EDIT: Originally used 960 here because of typo) In battle you would then receive an additional 100% defense, i.e. your defense would be 960 + (960*100%) = 1920. With the buff defense up he would gain an additional 50% defense i.e. 1920 + (960*50%) = 2400.
All those numbers can be translated into the % value you see in the stat screen in game as follows;
Armor% = (armor*100) / (armor+(Level*7.5))
the level is the character level and why you see some lower level characters look like they have ridiculously high armor%.
For G13 SET without mods armor = 453 so Armor% = 41.54%
For G13 SET with mods suggested above armor = 960 so Armor% = 60.09%
For modded G13 SET above, in battle armor = 1920 so Armor% = 75.07%
For above in battle SET with defense up armor = 2400 so Armor% = 79.01%
As you can see just in this small example is that the Armor% (what is displayed on the in game stats) looks like it has diminishing returns. In the first instance armor is increased over 100% from 453 to 960 and the armor% only increases ~19% (additive). Increasing armor by another 100% to 1920 then only adds ~15% damage mitigation. If you stop thinking of each point of armor% as adding a constant amount of survivability however, and consider it in the context of Effective Health = Health + Protection / ( 1 - (Armor% / 100) ) then you'll see adding defense (changing the flat value of armor) does not have diminishing returns.