Are you sure its not just pushing it to the background? I think starting with 9.4(?) JAMF began placing the update inventory task as a background process specifically when its run from Self Service.
Have you given it a couple of minutes to see if new inventory does get submitted eventually?
We have the same type of Self Service policy in place and it is working (9.6), although it works differently now than it used to. In previous versions of Self Service you would see the recon taking place in the progress bar. With recent updates to the Casper Suite, Self Service now kicks off a background process to complete the recon, making Self Service appear to work faster.
If you run your Self Service Update Inventory policy, what you should see is that within a minute or two of execution (depending on the Mac) Self Service should refresh itself automatically. If you watch this and check the Last Inventory Update in the JSS for the same workstation you'll see the Self Service auto-refresh and the recon time match. It's working (in my environment anyway) without any feedback to the user.
Your work-around of running jamf recon as a command absolutely restores the visual feedback you are expecting if that feedback is necessary in your environment. No one in our environment has mentioned a concern with missing visual feedback on inventory updates so we let it ride. :)
I created a brand new policy using the checkmark to update inventory and it's behaving in the new post v9.5 fashion.
Thanks @mm2270 and @themacallan !
Wow, I thought something was wrong - thanks for confirming that recon is pushed to the background when invoked via Self Service. Most welcome change!