idk Logo is a vector-based drawing language and DF is a cell-based mapping system. Logo isn't really a good fit for DF. You want rasterizing functions, and then it might as well be any language other than Logo. Logo maintains a "current pos" e.g. a single cursor location. This is actually a drawback of the system because only having a single cursor location means you have to carefully reverse your steps to generate e.g. a tree.
A 3D designation system could pass the x,y,z center for a new block as parameters and then that function generates the local designations. When the function returns, then the old x,y,z location would be restored automatically. Logo doesn't do that. So just using recursion and subroutines would give you the "relative cursor" effect of Logo, without the heavily constricted language model. A variant of Basic might be the best bet if you want something that people can use that won't be syntactically complex for non-programmers.
I don't think Logo is necessarily "childish" as a language, just because it's used as a teaching aid. Logo doesn't give you much high-level functionality, you have to basically implement a lot in it that you'd get handed to you as libraries in any other language. If you want to do anything meaningful in Logo it's actually pretty damn hard.
What I think would work best is a heirarchical system: partition space into "blocks" (fortress areas) then decide how each block connects to the other blocks, and then subdivide the blocks into levels and rooms. Doing a recursive subdivision of space down to the room/doorway level is the best way to lay things out because then you never have the risk of one room accidentally overlapping another one. So, a language which supports this sort of recursive subdivision of rectangular blocks would be best. Even better if the system can also have angled or curved edges to regions, so it can lay out e.g. a circular tower and buildings clustered around that.