### Please describe the problem.

Identically configured remotes behave differently in the "git annex push" command after "git annex sync" to only one of them.

### What steps will reproduce the problem?

I have a repository on Linux and two USB backup sticks, all Ext4 file system. At one point I accidentally did "git annex sync music-backup-one".

When I now "git annex push music-backup-two" it works as expected and I see the correct files on the stick and "git annex list" shows the content correctly. This is not true for "git annex push music-backup-one" as I must also issue "git annex mirror . --to=music-backup-one" for the content and "git annex list" to be correct (both commands are required in either order).

How do I diagnose the problem so push works without the need for mirror on music-backup-one?

During my investigation, I noticed the filemode (executable) bit for annexed files is not transferred to either USB drive if that is the only change (perhaps a separate issue).

### What version of git-annex are you using? On what operating system?

10.20231130-g0e9bc415882a5e3a285e004cf9f80936e5762a07

### Please provide any additional information below.

[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log

All three repos have:
'annex.largefiles' set to 'mimeencoding=binary',
'group' set to 'manual'
'wanted' set to 'standard' and
'numcopies' set to 3.

desktop-music has adjust option --unlock and the two backups have option --lock.

Here is the contents of .git/config for desktop-music:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[annex]
	uuid = 0045d866-c80e-43c1-9b1b-b15a8c97c1aa
	version = 10
	adjustedbranchrefresh = true
[filter "annex"]
	smudge = git-annex smudge -- %f
	clean = git-annex smudge --clean -- %f
	process = git-annex filter-process
[push]
	followTags = true
[receive]
	denyCurrentBranch = updateInstead
[remote "music-backup-one"]
	url = /media/juanito/music-backup-one/music-library
	fetch = +refs/heads/*:refs/remotes/music-backup-one/*
	annex-uuid = 0b439b9f-16c7-4945-8cb2-9d6084677af3
[remote "music-backup-two"]
	url = /media/juanito/music-backup-two/music-library
	fetch = +refs/heads/*:refs/remotes/music-backup-two/*
	annex-uuid = 74a6b33c-fea2-45ef-a0c5-b677b43bc85f
[remote "github"]
	url = git@github.com:not-for-you.git
	fetch = +refs/heads/*:refs/remotes/github/*
	annex-ignore = true
[remote "itunes-media"]
	annex-directory = /home/juanito/annex-remotes/itunes-media
	annex-uuid = e18dbc8e-8e0f-47f2-8f33-e8eb9da97a62
	skipFetchAll = true
	annex-tracking-branch = main:Music
[remote "linux-media"]
	annex-directory = /home/juanito/annex-remotes/linux-media
	annex-uuid = b4efca25-5be6-4ea5-b0f9-207770abf21b
	skipFetchAll = true
	annex-tracking-branch = main:Music

Here is the contents of .git/config for music-backup-one:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "desktop-music"]
	url = /home/juanito/git/music-library
	fetch = +refs/heads/*:refs/remotes/desktop-music/*
	annex-uuid = 0045d866-c80e-43c1-9b1b-b15a8c97c1aa
[branch "adjusted/main(unlocked)"]
	remote = desktop-music
	merge = refs/heads/adjusted/main(unlocked)
[annex]
	uuid = 0b439b9f-16c7-4945-8cb2-9d6084677af3
	version = 10
	adjustedbranchrefresh = true
[filter "annex"]
	smudge = git-annex smudge -- %f
	clean = git-annex smudge --clean -- %f
	process = git-annex filter-process
[push]
	followTags = true
[receive]
	denyCurrentBranch = updateInstead

Here is the contents of .git/config for music-backup-two:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "desktop-music"]
	url = /home/juanito/git/music-library
	fetch = +refs/heads/*:refs/remotes/desktop-music/*
	annex-uuid = 0045d866-c80e-43c1-9b1b-b15a8c97c1aa
[branch "adjusted/main(unlocked)"]
	remote = desktop-music
	merge = refs/heads/adjusted/main(unlocked)
[annex]
	uuid = 74a6b33c-fea2-45ef-a0c5-b677b43bc85f
	version = 10
	adjustedbranchrefresh = true
[filter "annex"]
	smudge = git-annex smudge -- %f
	clean = git-annex smudge --clean -- %f
	process = git-annex filter-process
[push]
	followTags = true
[receive]
	denyCurrentBranch = updateInstead

# End of transcript or log.
"""]]

### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)


