"My understanding was that target memory should always be equal to the setting configured in sql server memory settings."
Nope. Consider that the default value for [Max Server Memory] when installing SQL Server is 2,147,483,647 megabytes. That's one mb shy of 2 PB :-)
Let's assume the SQL Server instance in question does not have startup trace flag 834 enabled along with LPIM. Those instances play by their own rules and unless that's the case here, no need to discuss it. It's a pretty rare configuration.
[Max Server Memory] is the maximum value for [Target Server Memory]. But, if [Max Server Memory] cannot be achieved based on the total amount of RAM, [Available memory] and [Free & Zero Page List memory], SQL Server will select a lower value for [Target Server Memory]. [Target Server Memory] typically governs [Total Server Memory], and [Total Server Memory] is the sum of [Database Cache Memory], [Free Memory], and [Stolen Server Memory].
Below is a graph of a system that shows a wobbly [Target Server Memory]. As activity progressed on this system, memory use other than SQLOS [Target Server Memory] (note - this could even be the sum total of 2 mb private memory per SQL Server worker since that memory is not included in [Total Server Memory]) occasionally causes a low memory notification from the OS. SQL Server is a considerate neighbor and if allowed by the [Min Memory Setting] will lower [Target Server Memory] by an amount that should resolve the low memory condition. (as an aside this is why i usually recommend keeping [Min Server Memory] at the default setting of 0 - unregulated)

In your case, [Target Server Memory] is about 2 gb lower than [Max Server Memory]. Unless both LPIM and trace flag 834 are enabled for this instance, that would be due to memory commitments other than SQL Server lowering [Available] and/or [Free & Zero Page List] memory. SQL Server knows the [Max Server Memory] value cannot be achieved or maintained without causing low memory notifications (or perhaps has already received notifications), so a lower value has been selected for [Target Server Memory].
Montoring [Available] and [Free & Zero Page List] memory should confirm this state of affairs. Very likely, as on the system these graphs came from, paging space is also being used on the system.

Perhaps there is another significant memory consumer on the system. SSIS, SSRS... or in the case of a VMware VM, the balloon driver. If another memory consumer can be identified and eliminated or restrained, a higher [Target Server Memory] value should be seen - and it may even reach [Max Server Memory].
However, even if another memory consumer is identified and addressed, for [Target Server Memory] to reach and stay at [Max Server Memory] may also require lowering the [Max Server Memory] value.
I personally always prefer a very steady [Target Server Memory] value equal to [Max Server Memory] to a wobbly [Target Server Memory]. For the sake of resource utilization and performance evaluation, i also prefer that to a steady [Target Server Memory] value which remains a fixed amount below [Max Server Memory].