The pieces are indeed redefined characters with background swapping to make the board in text mode. Acorn computers like Amstrad ones use a real frame buffer. The character font is independant of the background color. With VDU5, you can put them anywhere on screen (no 8 pixels boundaries) and characters overwrite whatever is on screen.
Try this on the ELK :
10 MODE 5:GCOL 0,130:FOR N=1TO100:GCOL0,RND(2):DRAW RND(1200),RND(1000):NEXT:VDU5:MOVE12,510:GCOL0,3:PRINT "CHARACTERS ON TOP"