I think it's highly unlikely that the synchronicity of the sub-chains will be stable enough to not lead to some fluctuations in sub-chain difficulty. If the difficulty is forced to be equal in all sub-chains by the protocol, the risk emerges that one of the sub-chains still eventually could receive less mining power and then have longer block times. This chain would then become unattractive and the value of the "sub-chain coins" would fall.
I think you are right about the difficulty. It should certainly not be forced to be equal. Each shard must have its own.
There was an implementation in
2014, but not for Bitcoin.

Looks like an interesting application of the original atomic-swap idea!
The problem of your proposal is mainly that your rely totally on market forces to achieve price pegs between the sub-chains. That can work, but it's not guaranteed at all and the system could collapse very fast (like NuBits). Perhaps there is a solution for that, a new form of two-way-peg mechanism, and then you could have found an interesting technology (although I think @aliashraf is right with his criticisms, too). But this problem has to be solved.
I personally think that @aliashraf's alternative is actually better than my original proposal.
Sharding along tx hash bytes removes the need for an atomic-swap server network, which then becomes completely optional.
It also makes the question of price pegs between sub-chains moot.
The user may still want this network service for the occasional defragmentation of his bitcoin holdings. If the user's bitcoin holdings are too much spread out over different shards, then a typical payment may require sending a potentially large set of sub-txs, each to its own shard. Therefore, the user may, at times, still want to use the atomic-swap server network to regroup his bitcoin holdings to fewer shards.