ConvertFrom-Csv has undocumented partial comment support
When multiple strings are fed into ConvertFrom-Csv, it will ignore lines prefixed with a '#' character. When fed a single string, it retains those lines. Unless it is the first line, in which case it is ignored either way. This behavior happens whether sent through the pipeline or provided to the -InputObject parameter.
The workaround is to use double quotes around the item with the leading '#'.
I guess this comes from handling the optional type information. The check for the "#TYPE" seems to happen only once with the single string, and every time when given multiple strings.
Choose either to support comments in CSV files purposefully, which would mean changing Import-Csv too, or fix ConvertFrom-Csv to do the check for "#TYPE" only on the first line.
first line is a comment
$Csv | ConvertFrom-Csv ### See comment preserved.
$Csv -split "\r\n" | ConvertFrom-Csv ### See comment ignored.