This is not weird.
The games you download on eshop with a DSi are memorized on your account in Nintendo Servers. The games have information of your DSi unique ID in them.
In order to transfer them to another console, you need to change the console ID present in the game file which tell which console can run the game (only Nintendo can change it), and to mark these games as "bought for the 3DS" in your account on Nintendo's server.
This process is done in a single pass by synchronizing the two consoles:
- You connect your DSi to eshop. (To connect to your account)
- Nintendo verify the history of games you bought with your DSi.
- The DSi reads the new console uniqueID (3DS).
- In your account, Nintendo marks the game you want to transfer as being bought by the new console ID (3DS), so you can't re-download it from eshop using the DSi.
- The ticket for that game is moved from the DSi to the 3DS.
- The game file's "linked console" information is changed to your 3DS uniqueID (it doesn't work on DSi anymore)
- The game is transfered to your 3DS and deleted from your DSi.
You can now re-download the games you own using your 3DS. They contains your 3DS uniqueID. You can't download them on the old DSi anymore.
You need the original DSi to transfer them as the console is used to recognize your account. (There's no login/password like a website or forums, the users are identified using the console's ID)
You can consider it the "console's account" more than "your personnal account".