Took a look in the level editor and it seems it does spawn a fake water lurker after you break the pipe and your sanity is higher then 30% (which seems unlikely when you play normally I think)
/////////////////////////
// Break pipe piece
void CollidePipePieceWithBreakArea(string &in asParent, string &in asChild, int alState)
{
    ///////////////////////////////////////////
    // Check how many times the pipe has collided with area, and break if enough
    int lBreakAmount = GetLocalVarInt("PipeBreakAmount");
    if(lBreakAmount==2)
    {
        PlaySoundAtEntity("PipeBreak", "17_break_wheel.snt", asParent, 0.3f, false);
        PlaySoundAtEntity("PipeBreak2", "25_bar_drop.snt", asParent, 0, false);
        PlaySoundAtEntity("PipeBreak3", "impact_water_med.snt", asParent, 0, false);
        
        SetEntityActive(asParent, false);
        SetEntityActive("pipe_piece", true);
        RemoveEntityCollideCallback(asParent, asChild);
        
        CompleteQuest("20Pipe", "20Pipe");
        
        SetEntityActive("AreaScaryWaterLurkerEvent", true); //Activate a scary water lurker event.
    }
    else
    {
        lBreakAmount++;
        SetLocalVarInt("PipeBreakAmount", lBreakAmount);
    }
}
 
//////////////////////////
// WATER LURKER SCARE IN HALL 2
//////////////////////////
//------------------------------------------------------
void CollideScaryWaterLurkerEvent(string &in asParent, string &in asChild, int alState)
{
    if(GetPlayerSanity()>=30)
        return;
        
    PlayMusic("04_event_stairs.ogg", false, 0.7, 0.1, 10, false);
    
    AddTimer("scare", 0.7f, "TimerPlayerReact");
    AddTimer("breath", 2.7f, "TimerPlayerReact");
    AddTimer("breathl", 4.7f, "TimerPlayerReact");
    
    AddTimer("AreaLurkerSound", 0.5f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_1", 1.0f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_2", 2.2f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_3", 3.0f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_4", 3.5f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_5", 4.0f, "TimerLurkerSplash");
    
    RemoveEntityCollideCallback(asParent, asChild);
}
//------------------------------------------------------
void TimerLurkerSplash(string &in asTimer)
{
    if(asTimer == "AreaLurkerSound"){
        PlaySoundAtEntity("LurkerSound","water_lurker_hunt.snt", "AreaLurkerSplash_1", 0, false);
        GiveSanityDamage(10.0f, true);
        StartScreenShake(0.003f, 0.0f, 0.5f, 3.0f);
        
    }else{
    
        PlaySoundAtEntity("LurkerSound","impact_water_high.snt", asTimer, 0, false);
        CreateParticleSystemAtEntity("LurkerPS", "waterlurker_walk_splash", asTimer, false);    
    }
    
    if(asTimer == "AreaLurkerSplash_5")
        PlaySoundAtEntity("LurkerSound2","water_lurker_eat.snt", asTimer, 0, false);
}
 
It also seems the only map where something is happening based on your insanity. I checked all other map-scripts and none other then Sewers has a line like "if(GetPlayerSanity()>"
-edit-
never mind, with just "if(GetPlayerSanity()" i get more results. Seems like the waterlurker in the Cistern also spawns only on high insanity levels