How does QGIS determine the first located feature option when using QGIS Join by location?
When using one-to-many join type, 'join attributes by location' will always select the tile that was created first out of the available tiles.
For example for the first dark blue tile (shown below), the available touching tiles are 1, 2, 8, 11 and 12. Out of these tiles, 1 was selected since it was made first.
In the case of the third dark blue tile (shown below), the available touching tiles are 4, 5, 6, 9, 10, 14 and 15. Out of these tiles, 10 was chosen since it was the first attribute created.
The order the shapes were created can be checked by using $id in the attribute table's formula bar and sorting lowest to highest.
(However, if you have your attribute table open while creating new shapes, the $ids for the new shapes can show up as negative. To fix this and get the actual $id simply close and reopen the attribute table and re-run $id.)
Hope this helped!