How to force subscriber to have foreign key WITH CHECK?
I know by default SQL Server replication adds WITH NOCHECK and NOT FOR REPLICATION 


Not quite.  By default they are CHECK or NOCKECK to match the constraint on the publisher, but set to NOT FOR REPLICATION, so updates from the distribution agent do not fire the constraint.

You can choose 

1) Whether or not the constraints are copied in the first place in the article properties, by setting or 0x200 flag (2nd byte, 2nd bit) in the schema_option bitmask in sp_addarticle


  0x200 Replicates foreign key constraints. If the referenced table is
  not part of a publication, all foreign key constraints on a published
  table are not replicated


2) Whether they are created with the NOT FOR REPLICATION option at the subscriber, by setting or clearing the 0x20000 flag (3rd byte, 2nd bit)


  0x20000   Replicates FOREIGN KEY constraints as NOT FOR REPLICATION so
  that the constraints are not enforced during synchronization.


By default this nibble is 3, as the 0x10000 flag that controls check constraints is also set.  So set this nibble to 0x10000 to create FK constraints without the NOT FOR REPLICATION option and to 0x00000 to create both FK constraints and check constraints without the NOT FOR REPLICATION option.

See generally Control Behavior of Triggers and Constraints in Synchronization