HD44780 DDRAM and CGROM Interaction
You write "1001001000" into the DDRAM. The controller then searches the CGROM for that value and displays the character it finds at that value.

Because you are currently writing into the DDRAM, and have not sent the command to switch into the CGRAM. It requires an additional command to switch between them.

When you send the CGRAM data, then send the DDRAM the corresponding address for the CGRAM character you created, the controller then references the CGRAM for the data.