Standalone もう~ vs Standalone ~たことがある
I think もう~ and ~たことがある are different in the same way that a/an and the are used differently in English, at least for most of the examples that you gave. So I don't think that there are cases when both forms would mean the same thing, if we are talking about them being not used together in the same sentence.
For cases where もう~ is used together with ~たことがある see near the bottom of this answer.
Let us look at these examples.
1a. リンゴをもう食べた
I ate the apple
The apple that the speaker ate is very specific. The speaker wants the listener to know that s/he already ate the apple that the latter knows about.
1b. リンゴを食べたことがある
I have eaten an apple
The speaker has eaten an apple before. The speaker wants the listener to know that if s/he is going to eat one again, it won't be the first time.
Going back to one of your examples.
2a. もう びじゅつかん に 行きましたか。
Have you been to the art museum?
The speaker is asking if the listener has visited a specific art museum, and not just any other anywhere else.
2b. びじゅつかん に 行ったことがありますか。
Have you been to an art museum?
The speaker is asking if the listener has ever been to one.
The same will work for your other examples too. In the case of:
3a. もう 日本 の りょうり を 食べましたか。
it could be that they were in a hotel that serves different foods from various countries and the speaker is asking if the listener has tried the Japanese food that the hotel serves. If you change that to:
3b. 日本 の りょうり を 食べたことがありますか。
the speaker is just asking if the listener has eaten Japanese food before.
One of the examples that you gave in English is I've been to / I visited Spain. If I were to use もう~ and ~たことがある, they would look like:
4a. もうスペインに行きました
This could mean that the speaker was planning to go to Spain, and has already gone there, and the listener knew about this plan.
4b. スペインに行ったことがある
This means that the speaker has already visited Spain in the past.
Issue about proximity in time
もう connotes that something specific – it could be a plan or some other thing that the listener knows about – has been done. ことがある on the other hand just means something has been done before. I don't think either of the two is affected by time, so it does not matter if what was done happened 50 yrs ago or yesterday. For example:
Aさん:昔{むかし}、スペインに行きたいと言っていたのを覚えている
A: Do you remember the time when you said that you wanted to go to Spain?
Say the answer is:
Bさん:10年前{ねんまえ}にもう行きましたよ
In this case, B told A (say 20 yrs ago) about his wish, and when asked by A now (maybe they haven't seen each other in a while), B said that he already went there 10 years ago. So we can see that もう does not have to be something very recent.
For ~たことがある, I think it is clear that time proximity also does not matter as one could have experienced something decades ago or just now.
Combined use of もう~ and ~たことがある
Note that もう could be added to a sentence with ~ことがある as in the following example.
あの人とは知り合ったばっかりだが、もう喧嘩したことがある
I have just met that person, but we already had a quarrel
Bonus
For your bonus, you gave two options on how to translate I've read this book as follows. I will try to explain the difference using imaginary situations.
この本 を もう 読みました。
In this translation, it could be that the listener knew that the speaker was going to read the book and asked him/her if he already read it. It could be also that the listener told/ordered the speaker to read it, so the speaker is now telling the listener that he's done reading.
この本 を 読んだことがあります。
In this translation, the speaker is just saying that he read the book before. Maybe he was replying to a question like この本は知っている? (Do you know this book?)
Lastly, the answer to your question below is "Yes, it is."
is もう properly placed either at the beginning or in the middle of a
sentence?