The traits work well as a type of strength representative, but create a disconnect if you don't have a stat bonus. Also, your specific example of the halfling and goliath is irrelevant. These are racial bonuses, not individual ones. If the race as a whole is stronger, it has to be represented in all ways strength is represented in the game or you have created a contradiction which causes a disconnect.
Having the trait only works if you have no numerical stats. Once you add in numerical stats to represent strength, a stronger race needs to be stronger in that way as well.