It appears that custom dimensions cannot be generated without a fixed seed field.
In the event of the 'seed' field being left out of a dimension file, the expected behavior is that the game should use the world seed as the dimension's seed.
However, instead, the game refuses to generate the dimension at all, and it cannot generate without a seed being specified in the .json file.
As a result all dimensions are roughly the same every time unless the player manually edits the seed field. This is a bug and is inconsistent with the ability to either use a random seed or set seed for a world as a whole.
To reproduce the issue, install the attached datapack "Dimension Seed Bug.zip" onto a new world, and observe the error in your log.
I have also attached a log which includes the error.
MC-195717 Custom Dimensions JSON Requires Seed