The antispam function of this forum makes it impossible for me to reply in the original thread so here is my resolution of the issue:
Thank you for your reply, Lu. I found an acceptable solution, which is to use CSS grid rather than PlantUML, since I didn't need arrows, just boxes. The arbitrary size and positioning is then achieved by having extra rows/columns as spacers between the boxes, and using the "skip" dot for the spacer rows/columns in the grid layout.