I have had a poke about, and have at least a starting point for working this out. In scripts/proxy_tile.lua, lines 20-31, you have the logic for deciding if a tile being placed is a road tile or not. This seems to only use the core two tile types. However, in scripts/road_network.lua, it is scanning all tiles that collide with the road mask, which I think is the correct behaviour, but this is only used during a reset(). But I couldn't seem to edit the code in your mod quite right to make it work.