I didn't read carefully, and didn't see that in your question you ask for 2 separate subnets
int1, 192.168.100.100/24
int2, 192.168.200.200/24
Subnet1 192.168.100.0/24
Subnet2 192.168.200.0/24
So, I changed my test but the result is the same.
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:78:d8:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.141/24 brd 192.168.100.255 scope global dynamic enp0s3
valid_lft 86383sec preferred_lft 86383sec
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:78:d9:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.200.141/24 brd 192.168.200.255 scope global enp0s8
valid_lft forever preferred_lft forever
# arping 192.168.100.141
ARPING 192.168.100.141
60 bytes from 08:00:27:78:d9:01 (192.168.100.141): index=0 time=377.666 usec
60 bytes from 08:00:27:78:d8:01 (192.168.100.141): index=1 time=427.840 usec
But this is a configuration on virtualized environment, without any smart/manageable switch. All my PC/servers are connected to netgear non manageable gigabyte switch.
I think, when you have this kind of complex configuration (router, multi-subnet, ect.), you may need manageable switch which can separate VLAN and use spanning tree and others features like that. I don't really know because I don't have a manageable switch for the moment, but I'm looking to buy one to test :)