Recently I've observed when pressing play on profiles of very old Minecraft versions (1.6.4 and previous), or of profiles which have had their version files deleted, the json file does indeed update. Oddly enough when launching profiles from older versions the launcher displays "Preparing" on the play button as well as "Finalizing" on the update progress bar immediately after the "Waiting On Install" display, whereas newer versions never display "Preparing" or "Finalizing". Only when a version encounters an error or is forced to install its version file does it update the "LastUsed" value to launcher_profiles.json
UPDATE: Changing Minecraft Launcher setting "Keep the Launcher open while games are running" from false to true pseudo-solves the bug. For whatever reason when the launcher closes during game startup it does not update "LastUsed" in launcher_profiles.json when in default settings.
For me, every single minecraft version says this. I even reinstalled the entire game and launcher but it doesn't work.
This bug still persists in modern launcher versions. A simple workaround is to set the setting "Keep the Launcher open while games are running" to true. For whatever reason the launcher closes too early for it to update its place in the last played queue and keeping the launcher open prevents that.