By default the colour map is filled with 0 (white). The background is also white so your POKE is invisible. If you move the cursor to that location it will appear.
The issue at hand is already mentioned in the VIC-20 User's Manual, on pages 139 and 140:
VIC-20 User's Manual wrote:[...] type in a POKE statement with the number of the screen location (7800) and the number of the symbol (83) like this:
POKE 7800, 83
A white heart should appear in the middle area of the screen. Note that it will be invisible if the screen is white. [...] For example, to get a red heart, type the following:
POKE 38520, 2 [...]
Note these POKEs are only valid for unexpanded VIC-20 or with +3K RAM expansion. With +8K or more, the KERNAL sets the screen to start at 4096 and the colour RAM to 37888.
(The funny thing is: when typed in directly on the start up message, POKE7800,83 will overwrite the "3" of the number 83, and will result in a blue heart at that position as the colour RAM there has already been changed to 6 (blue) - so you will be oblivious to the issue in that case. The other POKE then though will truly change the colour to red.
Try those two POKEs after a screen clear instead.)
And if you're sure you're going to be poking characters all over the screen, you can just set the character color in every screen location to whatever you want ahead of time, and poke in characters later.
For example, you can start with
FOR I=38400 TO 38905: POKE I,0: NEXT
to prepare every space for black characters. Then just poke whatever you want and they'll all come out black. If you want different areas of the screen to have different color characters, you can set different colors to each area of the screen with a statement like that.