Functions causing Serial plan.What to use instead?
A scalar UDF only forces a serial plan for the query that calls it. You can have a scalar UDF call in a stored procedure that also has queries eligible for parallelism as long as the queries don't call the function. Your function in this example is a constant so you can just store it in a local variable. I had to make a guess about the data type but something like the following should meet your needs:

CREATE PROCEDURE [dbo].[DemoProc]
    @Arg1 VARCHAR(20),
    @Arg2 varchar(9) = NULL
AS
DECLARE @Plant_Id_Filter VARCHAR(100);

SET @Plant_Id_Filter = CASE WHEN @Plant_Id = 'ALL' THEN '%' ELSE COALESCE(@Plant_Id, dbo.GetPlant_Id(@LNumber)) END;

SELECT
    r.Plant_Id AS [Plant_Id],
    @LNumber AS [Incident Number],
    COALESCE(idps.AlternateNumber, '') AS [tblFormNumber],
    CASE l.[UserName]
        WHEN NULL THEN 'OPEN'
        WHEN '' THEN 'UNLOCKED'
        ELSE l.UserName
        END AS UserName,
    l.UserId,
    l.Lock LockCode,
    l.LockTime
FROM
    dbo.tblDetailPages idp WITH (NOLOCK)
        INNER JOIN tblForm f WITH (NOLOCK)
            ON idp.tblFormId = f.Id
        INNER JOIN tblReport r WITH (NOLOCK)
            ON f.tblReportId = r.Id
        LEFT OUTER JOIN dbo.tblDetailsPage_Alternate idps WITH (NOLOCK)
            ON idp.Id = idps.PageId
        LEFT OUTER JOIN [dbo].[Monitor] l  WITH (NOLOCK) 
            ON l.LNumber = SUBSTRING(r.LNumber, 5, 3) + '-' + SUBSTRING(r.LNumber, 8, 7) + '-' + SUBSTRING(r.LNumber, 3, 2)
            AND l.Plant_Id = r.Plant_Id
WHERE
    SUBSTRING(r.LNumber, 5, 3) + '-' + SUBSTRING(r.LNumber, 8, 7) + '-' + SUBSTRING(r.LNumber, 3, 2) = @LNumber AND
    r.Plant_Id LIKE @Plant_Id_Filter
ORDER BY [tblFormNumber]
OPTION (MAXDOP 6)
GO