The CheckpointLSN of the differential backup maps to the CheckpointLSN of the first transaction log backupbackup true or false?
No it does not map all the time. It depends on the interval of checkpoint happening. You can test this with the code below.

To explain what I said in my comment you can test with this code.

Use the code from here to load 300 rows.

Create a new table.

USE TestChkPoint
GO

CREATE TABLE dbo.TestTableSize
(
    MyKeyField VARCHAR(10) NOT NULL,
    MyDate1 DATETIME NOT NULL,
    MyDate2 DATETIME NOT NULL,
    MyDate3 DATETIME NOT NULL,
    MyDate4 DATETIME NOT NULL,
    MyDate5 DATETIME NOT NULL
)
GO


You will see different CheckpointLSN between diff and log1 backup if you perform below action.

--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.Full.bak'
--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.diff.bak' WITH DIFFERENTIAL
--insert new data
CHECKPOINT 
BACKUP LOG TestChkPoint TO DISK= 'C:\TestChkPoint.log1.bak'


You will see same checkpointLSN in you diff and log1 backup if you perform this actions.  Notice I commented out manual checkpoint.

--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.Full.bak'
--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.diff.bak' WITH DIFFERENTIAL
--insert new data
--CHECKPOINT 
BACKUP LOG TestChkPoint TO DISK= 'C:\TestChkPoint.log1.bak'


Now if you set TARGET_RECOVERY_TIME to 1 second and perform below steps without manual checkpoint you will see different checkpointLSN between diff and log backup.

ALTER DATABASE TestChkPoint SET TARGET_RECOVERY_TIME = 1 SECONDS;  

--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.Full.bak'
--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.diff.bak' WITH DIFFERENTIAL
--no manual checkpoint
--insert new data change 300 to 30000
BACKUP LOG TestChkPoint TO DISK= 'C:\TestChkPoint.log1.bak'