It's clear Reforged had a forced release date

They did build upon the legacy client. Which is to be expected since it was an update. No new client was made, only the existing one changed.

They could not use the old features as those relied on legacy BattleNet. Trying to mix and match legacy BattleNet with BattleNet “2.0” would not work well due to their different requirements and method of operation.

Honestly I am not sure why custom campaigns are still missing.

This was mentioned in the various patch notes. People running Reforged graphics playing with Classic graphics were prone to desync with each other soon after launch. Although the exact reasons can only be speculated, it was either because of the clients loading different assets, or because the graphic part of the engine produced different results. If the latter cause then the need for such strict separation of the graphic engine was for licencing, to make it impossible to play Reforged graphics, even with classic assets, without owning a Reforged licence.

If they would have kept a single graphic engine for both classic and reforged, and just tied the new assets to the reforged licence, then it is possible that some desync bugs would have not happened. It also would have even made classic look better, and the lack of working blob shadows would be less noticeable.

For inter-compatibility they would need to update both versions in parallel. Especially with regard to online services to enable the removal of the legacy BattleNet.