<?xml version="1.0" encoding="us-ascii"?><InstanceReport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Version>2.4.0.8</Version><ReportLongName>4123 - Disclosure - Stock-Based Compensation Plans (Details 4)</ReportLongName><DisplayLabelColumn>true</DisplayLabelColumn><ShowElementNames>false</ShowElementNames><RoundingOption>In Millions, except Per Share data, unless otherwise specified</RoundingOption><HasEmbeddedReports>false</HasEmbeddedReports><Columns><Column FlagID="0"><Id>1</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><CurrencyCode>USD</CurrencyCode><FootnoteIndexer /><hasSegments>false</hasSegments><hasScenarios>false</hasScenarios><MCU><KeyName /><CurrencySymbol>$</CurrencySymbol><contextRef><ContextID>D2013Q2YTD_EmployeeStockMember</ContextID><EntitySchema>http://www.sec.gov/CIK</EntitySchema><EntityValue>0001126328</EntityValue><PeriodDisplayName /><PeriodType>duration</PeriodType><PeriodStartDate>2013-01-01T00:00:00</PeriodStartDate><PeriodEndDate>2013-06-30T00:00:00</PeriodEndDate><Segments /><Scenarios /></contextRef><UPS><UnitProperty><UnitID>Shares</UnitID><UnitType>Standard</UnitType><StandardMeasure><MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema><MeasureValue>shares</MeasureValue><MeasureNamespace>xbrli</MeasureNamespace><MeasureDescription /><MeasureType /></StandardMeasure><MultiplyMeasures><Measure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></Measure><Measure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></Measure></MultiplyMeasures><NumeratorMeasure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></NumeratorMeasure><DenominatorMeasure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></DenominatorMeasure><Scale>0</Scale></UnitProperty><UnitProperty><UnitID>USDPerShare</UnitID><UnitType>Divide</UnitType><StandardMeasure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></StandardMeasure><MultiplyMeasures><Measure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></Measure><Measure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></Measure></MultiplyMeasures><NumeratorMeasure><MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema><MeasureValue>USD</MeasureValue><MeasureNamespace>iso4217</MeasureNamespace><MeasureDescription /><MeasureType /></NumeratorMeasure><DenominatorMeasure><MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema><MeasureValue>shares</MeasureValue><MeasureNamespace>xbrli</MeasureNamespace><MeasureDescription /><MeasureType /></DenominatorMeasure><Scale>0</Scale></UnitProperty></UPS><CurrencyCode>USD</CurrencyCode><OriginalCurrencyCode>USD</OriginalCurrencyCode></MCU><CurrencySymbol>$</CurrencySymbol><Labels><Label Key="CalendarSupplement" Id="0" Label="6 Months Ended" /><Label Key="Calendar" Id="1" Label="Jun. 30, 2013" /></Labels></Column></Columns><Rows><Row FlagID="0"><Id>1</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>0</Level><ElementName /><ElementPrefix /><IsBaseElement>true</IsBaseElement><BalanceType /><PeriodType /><IsReportTitle>false</IsReportTitle><IsSegmentTitle>true</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><PreferredLabelRole /><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="" UnitID=""><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText /><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><OriginalInstanceReportColumn FlagID="0"><Id>1</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><CurrencyCode>USD</CurrencyCode><FootnoteIndexer /><hasSegments>true</hasSegments><hasScenarios>false</hasScenarios><MCU><KeyName /><CurrencySymbol>$</CurrencySymbol><contextRef><ContextID>D2013Q2YTD_EmployeeStockMember</ContextID><EntitySchema>http://www.sec.gov/CIK</EntitySchema><EntityValue>0001126328</EntityValue><PeriodDisplayName /><PeriodType>duration</PeriodType><PeriodStartDate>2013-01-01T00:00:00</PeriodStartDate><PeriodEndDate>2013-06-30T00:00:00</PeriodEndDate><Segments><anyType xsi:type="Segment"><IsDefaultForEntity>false</IsDefaultForEntity><Name /><IsFromEntityGroup>false</IsFromEntityGroup><ValueName>Employee Stock Purchase Plan</ValueName><ValueType>us-gaap_PlanNameAxis</ValueType><Namespace>xbrldi</Namespace><Schema>http://xbrl.org/2006/xbrldi</Schema><DimensionInfo><Id>us-gaap_EmployeeStockMember</Id><dimensionId>us-gaap_PlanNameAxis</dimensionId><type>explicitMember</type></DimensionInfo></anyType></Segments><Scenarios /></contextRef><UPS><UnitProperty><UnitID>Shares</UnitID><UnitType>Standard</UnitType><StandardMeasure><MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema><MeasureValue>shares</MeasureValue><MeasureNamespace>xbrli</MeasureNamespace><MeasureDescription /><MeasureType /></StandardMeasure><MultiplyMeasures><Measure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></Measure><Measure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></Measure></MultiplyMeasures><NumeratorMeasure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></NumeratorMeasure><DenominatorMeasure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></DenominatorMeasure><Scale>0</Scale></UnitProperty><UnitProperty><UnitID>USDPerShare</UnitID><UnitType>Divide</UnitType><StandardMeasure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></StandardMeasure><MultiplyMeasures><Measure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></Measure><Measure><MeasureSchema /><MeasureValue /><MeasureNamespace /><MeasureDescription /><MeasureType /></Measure></MultiplyMeasures><NumeratorMeasure><MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema><MeasureValue>USD</MeasureValue><MeasureNamespace>iso4217</MeasureNamespace><MeasureDescription /><MeasureType /></NumeratorMeasure><DenominatorMeasure><MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema><MeasureValue>shares</MeasureValue><MeasureNamespace>xbrli</MeasureNamespace><MeasureDescription /><MeasureType /></DenominatorMeasure><Scale>0</Scale></UnitProperty></UPS><CurrencyCode>USD</CurrencyCode><OriginalCurrencyCode>USD</OriginalCurrencyCode></MCU><CurrencySymbol>$</CurrencySymbol><Labels><Label Key="Calendar" Id="1" Label="1/1/2013 - 6/30/2013" /></Labels></OriginalInstanceReportColumn><ElementDataType>na</ElementDataType><SimpleDataType>na</SimpleDataType><IsTotalLabel>false</IsTotalLabel><UnitID>0</UnitID><Label>Employee Stock Purchase Plan</Label></Row><Row FlagID="0"><Id>2</Id><IsAbstractGroupTitle>true</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>3</Level><ElementName>us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</ElementName><ElementPrefix>us-gaap_</ElementPrefix><IsBaseElement>true</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><PreferredLabelRole>terseLabel</PreferredLabelRole><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="" UnitID=""><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText /><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>xbrli:stringItemType</ElementDataType><SimpleDataType>string</SimpleDataType><IsTotalLabel>false</IsTotalLabel><UnitID>0</UnitID><Label>Stock-Based Compensation Plans - Disclosures</Label></Row><Row FlagID="0"><Id>3</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>4</Level><ElementName>us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</ElementName><ElementPrefix>us-gaap_</ElementPrefix><IsBaseElement>true</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><PreferredLabelRole>terseLabel</PreferredLabelRole><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="D2013Q2YTD_EmployeeStockMember" UnitID="Shares"><Id>1</Id><IsNumeric>true</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>500000</NumericAmount><RoundedNumericAmount>0.5</RoundedNumericAmount><NonNumbericText /><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>xbrli:sharesItemType</ElementDataType><SimpleDataType>shares</SimpleDataType><ElementDefenition>Number of shares issued during the period as a result of an employee stock purchase plan.</ElementDefenition><ElementReferences>Reference 1: http://www.xbrl.org/2003/role/presentationRef

 -Publisher AICPA

 -Name Accounting Principles Board Opinion (APB)

 -Number 12

 -Paragraph 10

 -LegacyDoc This reference is SUPERSEDED by the Accounting Standards Codification effective for interim and annual periods ending after September 15, 2009.  This reference is included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.



Reference 2: http://www.xbrl.org/2003/role/presentationRef

 -Publisher SEC

 -Name Regulation S-X (SX)

 -Number 210

 -Section 04

 -Article 3



Reference 3: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 505

 -SubTopic 10

 -Section 50

 -Paragraph 2

 -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644



Reference 4: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 505

 -SubTopic 10

 -Section S99

 -Paragraph 1

 -Subparagraph (SX 210.3-04)

 -URI http://asc.fasb.org/extlink&amp;oid=6959260&amp;loc=d3e187085-122770



Reference 5: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Statement of Financial Accounting Standard (FAS)

 -Number 129

 -Paragraph 5

 -LegacyDoc This reference is SUPERSEDED by the Accounting Standards Codification effective for interim and annual periods ending after September 15, 2009.  This reference is included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.



Reference 6: http://www.xbrl.org/2003/role/presentationRef

 -Publisher SEC

 -Name Regulation S-X (SX)

 -Number 210

 -Section 02

 -Paragraph 29, 30

 -Article 5



</ElementReferences><IsTotalLabel>false</IsTotalLabel><UnitID>1</UnitID><Label>Share purchases under employee stock purchase plan (in shares)</Label></Row><Row FlagID="0"><Id>4</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>4</Level><ElementName>pfg_EmployeeStockPurchasePlanWeightedAverageFairValueOfDiscount</ElementName><ElementPrefix>pfg_</ElementPrefix><IsBaseElement>false</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><PreferredLabelRole>terseLabel</PreferredLabelRole><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="D2013Q2YTD_EmployeeStockMember" UnitID="USDPerShare"><Id>1</Id><IsNumeric>true</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>12.72</NumericAmount><RoundedNumericAmount>12.72</RoundedNumericAmount><NonNumbericText /><FootnoteIndexer /><CurrencyCode>USD</CurrencyCode><CurrencySymbol>$</CurrencySymbol><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>true</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>num:perShareItemType</ElementDataType><SimpleDataType>decimal</SimpleDataType><ElementDefenition>The weighted-average fair value per share of the discount applied to employee purchases under the employee stock purchase plan during the period.</ElementDefenition><ElementReferences>No definition available.</ElementReferences><IsTotalLabel>false</IsTotalLabel><UnitID>3</UnitID><Label>Weighted-average fair value of discount on employee stock purchase plan (in dollars per share)</Label></Row><Row FlagID="0"><Id>5</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>4</Level><ElementName>pfg_EmployeeStockPurchasePlanSharesAvailableForIssuanceUnderPlan</ElementName><ElementPrefix>pfg_</ElementPrefix><IsBaseElement>false</IsBaseElement><BalanceType>na</BalanceType><PeriodType>instant</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><PreferredLabelRole>terseLabel</PreferredLabelRole><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="I2013Q2_EmployeeStockMember" UnitID="Shares"><Id>1</Id><IsNumeric>true</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>5500000</NumericAmount><RoundedNumericAmount>5.5</RoundedNumericAmount><NonNumbericText /><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>xbrli:sharesItemType</ElementDataType><SimpleDataType>shares</SimpleDataType><ElementDefenition>The difference between the maximum number of shares authorized for issuance under the Employee Stock Purchase Plan (including the effects of amendments) and the number of shares already issued under the plan, net of adjustments.</ElementDefenition><ElementReferences>No definition available.</ElementReferences><IsTotalLabel>false</IsTotalLabel><UnitID>1</UnitID><Label>Shares available to be issued under employee stock purchase plan (in shares)</Label></Row></Rows><Footnotes /><IsEquityReport>false</IsEquityReport><ReportName>Stock-Based Compensation Plans (Details 4) (Employee Stock Purchase Plan, USD $)</ReportName><MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel><SharesRoundingLevel>HundredThousands</SharesRoundingLevel><PerShareRoundingLevel>NoRounding</PerShareRoundingLevel><ExchangeRateRoundingLevel>UnKnown</ExchangeRateRoundingLevel><HasCustomUnits>true</HasCustomUnits><IsEmbedReport>false</IsEmbedReport><IsMultiCurrency>false</IsMultiCurrency><ReportType>Sheet</ReportType><RoleURI>http://principal.com/role/DisclosureStockBasedCompensationPlansDetails4</RoleURI><NumberOfCols>1</NumberOfCols><NumberOfRows>5</NumberOfRows></InstanceReport>
