The check giving this error is pretty old, so it seems that you got it to work was not intentional: https://github.com/LemmyNet/lemmy/blame/63d3759c481ff2d7594d391ae86e881e2aeca56d/crates/api_common/src/utils.rs#L539
As far as I can see, 0.18 and its release candidates only added additional checks preventing such an instance to be set up in the first place.
Yes, that’s what this check (and the later introduced changes) are meant for. On the reasoning why this configuration is not desired I can’t comment.