how to convert this varchar to datetime2(7) format?
There may be a better way, but you can do this by concatenating it into the proper form.

DECLARE @TimeString char(20) = '20200309150920'

SELECT CONVERT(datetime2(7), 
    CONCAT(
        SUBSTRING(@TimeString,1,8)
       , ' '
       , SUBSTRING(@TimeString,9,2)
       , ':'
       , SUBSTRING(@TimeString,11,2)
       , ':'
       , SUBSTRING(@TimeString,13,2)
        )
    )