In a DacPac deployment, if a stored procedure that is called by another stored procedure is updated, is the calling stored proc also redeployed?
Yes, it's expected.

If StoredProcA calls StoredProcB, and StoredProcB is modified, then the DacPac deployment will:


deploy the changes to StoredProcB
update the metadata for StoredProcA


What that looks like in the generated deployment script is:

GO
PRINT N'Altering [dbo].[StoredProcB]...';


GO
ALTER PROCEDURE [dbo].[StoredProcB]
/*
your new stored proc body here
*/
GO
PRINT N'Refreshing [dbo].[StoredProcA]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[StoredProcA]';


It's the call to sp_refreshsqlmodule that updates the modified date on StoredProcA.  The procedure hasn't been redeployed, but it's underlying metadata may have.

In your case, nothing has really changed.  The whole sp_refreshsqlmodule thing would be necessary if you updated a user-defined type that was used a parameter to StoredProcA, for example.  It's not necessary in this situation, but SSDT doesn't have complex rules about when to refresh dependent modules - it just updates them all if any have changed.