well, it's not a direct answer to your question about background of concealed characters, though here is a solution to your problem:
to show non-breakable spaces as ␣
you should better use the listchars
setting:
:set listchars=nbsp:␣
and here's my complete listchars
setting, in case you're interested:
:set listchars=eol:¶,trail:~,extends:⫸,precedes:⫷,tab:▸ ,nbsp:␣
and this will not affect the colours.
More about it :he listchars
HTH