The "bedrock_roof_position" tag for custom dimensions is calculated improperly.
Issue:
When setting the "bedrock_roof_position" to 30, the bedrock roof moves down 30 blocks from y=127 (moving it to y=97). The bedrock roof can only be moved down because of this. The range is stated to be -20..X, however placing a negative number to move the roof up makes it not generate at all.
Expected Behavior:
Setting "bedrock_roof_position": 27 would set the bedrock height to y=27, OR set it 27 blocks from the top of the world (0 being y=255, 27 being y=228), OR have a range of -127..128 to move it to y=0 and y=255
This is actually because you need to modify the "height" value under "generator" > "settings". The roof is calculated based on this height value, not the world build limit. If you leave the height at 128, the roof will calculate its position starting at y=128.