Date: 202110
Local time of day: 1201-1800
Location: ZZZ.TRACON, US
Aircraft: Heavy Transport; Low Wing; 4 Turbojet Eng
Operator: Air Carrier
Operating under: Part 121
Flight plan: IFR
Mission: Cargo / Freight / Delivery
Flight phase: Initial Approach
Airspace: Class C ZZZ
ATC / advisory: TRACON ZZZ
Reporter organization: Air Carrier
Reporter function: Captain
Reporter qualification: Flight Crew Air Transport Pilot (ATP); Flight Crew Multiengine; Flight Crew Instrument
Human factors: Confusion; Distraction; Situational Awareness; Human-Machine Interface
Anomaly: Deviation - Altitude Overshoot; Deviation / Discrepancy - Procedural Clearance; Inflight Event / Encounter Weather / Turbulence; Inflight Event / Encounter CFTT / CFIT
Detector: Person Flight Crew
When detected: In-flight
Result: Flight Crew Became Reoriented
Contributing factors: Airspace Structure; Software and Automation; Procedure; Human Factors
Primary problem: Human Factors

Narrative: I was Pilot Monitoring (PM) descending for ZZZ Runway XXL ILS while avoiding several storms. While descending from about 11;000 ft on a weather avoidance heading of about 100 degrees I noted we were above the proper profile and suggested we program a direct-to for the IAF; ZZZZZ; ILS XXL at ZZZ. This was to give the VNAV a better calculation as the Pilot Flying (PF) thought we were low (due to VNAV Path indicating so because of extra track miles we now would not be flying because we were not flying to ZZZ then back to the IAF for the full ILS; an extra 35+ miles VNAV was expecting with ZZZ; discontinuity; ILS XXL). We discussed these reasons and probably this extra conversation distracted us. We failed to scan our Vertical FMA (Flight Mode Annunciations) below 10;000 ft perhaps because we had just slowed below 250 kts. Had we scanned the FMAs again; or possibly avoided confirmation bias; we would have recalled that we had just switched to FLCH SPEED instead of VNAV PATH...this of course mattered because the PF then set FAF altitude of 2;100 ft upon receiving approach clearance. I (PM) failed to remind him to return to VNAV or set the issued crossing restriction of 3;000 ft at ZZZZZ; our next fix.    Previously; on being cleared the approach and to descend to 3;000ft; we had both confirmed the Primary Flight Display (PFD) altitude and VNAV Descent page specifically reflected 3;000 ft. Of course we apparently forgot to individually confirm the FMA's. We got a call from Approach; as I recall; switching us to Tower and noting '3;000 ft at ZZZZZ'. I replied that I thought our FMS had sequenced and we were climbing. I misunderstood the deviation; still not realizing then that we had not returned to VNAV (PATH) when setting 2;100 ft. Our altitude had reached a low of approximately 2;250 ft. Per our approach study; I noted to the PF that there is a tower about a half mile east at 1;946 ft which I immediately located visually as clear. We reached about 2;500 ft at ZZZZZ and shortly thereafter; while still climbing back up; captured the XXL glideslope.  I think I will always have to verbally confirm the Vertical FMA every time an approach related altitude is set. I also plan to never again explicitly set FAF altitude once on heading/vector and given an altitude to maintain till intercepting the LOC course. It's just another layer of complexity that's unnecessary; this also is more CDFA compliant and noise avoiding while still allowing early configuration for being Stabilized by the FAF and well above 1;000. Although I realize its possible in VNAV PATH or VNAV ALT prior to configuring (FMS) I'm thinking that a VNAV understanding shouldn't drive me to fly a precision approach like a non-precision just because I'm outside the FAF. This simplified process management is fully my responsibility.  It also will reduce errors and increase consistency in my execution of precision approaches in a non-STAR environment. These techniques can help insure that the FMA being left out will not be the single point of failure. Or in Threat and Error Management language they will force another layer of swiss-cheese to be present hopefully blocking the potential for FMA checking error getting through. This whole repeating situation could also be averted by getting ZZZ Approach Control to allow us to file to an IAF or even for them to build at least one south flow STAR and one for north flow. I've been flying at ZZZ since Year XXXX routinely and this circumstance is constantly a challenge because of the fact we file direct to the airport combined with the facts that Center usually keeps us high due to ZZZ1 traffic and then dives us in steep for an approach. It's not unlike what ZZZZ Approach does. Once again; its entirely my responsibility to execute correctly no matter the set up. These are just ideas I think can help in this location.




Synopsis: Air carrier pilot reported descending to the Final Approach Fix altitude instead of the ATC assigned altitude received with the approach clearance due to automation mismanagement.