In native code, a typedef acts as if you had typed the actual type there, so replication should be unaffected.
In reflected code (UCLASS etc.), typedefs are not supported - that’s why you need the USTRUCT() method I suggested above. And USTRUCTs replicate.
Steve