Note: There is no best, no most efficient. It literally depends what exact optimization problem you are trying to solve.
Is there any difference between an animation sequence drawn on threes (8 different drawings for a second of motion) that plays back at 8 fps and 24 fps?
From users point of view: No. From a technical standpoint: Yes. From your standpoint: Yes. Imagine that you'd want to do the old anime trick of going to higher FPS in the action scene so switching to twos in a section. Nope not possible in 8fps.
The 24 FPS file actualy shows 3 times the same picture. Most compressors would understand that frames dont change so wouldn't store anything extra anyway.
Also if you really aim for 8FPS are you animation on threes? YOu are after all animating each frame.
which is the more efficient way...
Depends on your codec selection of your target audience. But in reality you should benchmark this with different settings and then choose. This is highly dependent on the platform and exact content you intend to use so there is no answering your question.
Edit: Look efficiency has to be defined to have a meaningful discussion of efficiency. Since you haven't done so theres no point in discussing such things.So your question can not be answered.
Edit 2: It is also really simple, those knobs exist because the situation is quite much harder than what setting to put in these knobs for most effincent. If you havent got a problem you shouldnt be worrying about this. But those knobs and codecs exist because different countries and different organisations have different needs. For example you could use HVEC but many users wouldnt want to pay for the licence. So is HVEC more efficent? Well possibly but does having to pay royalties of each shown video count as unefficiency or not.
Moreover, is it correct to say most animations play at 8 or 12 fps or whatever while in fact they actually play 24 fps, only that every 3 or 2 of those frames are exact duplicates?
No, the system needs to redraw every frame regardless. It may end up affecting sound synchronization, and frame swap accuracy. But again can not e generally answered.
PS: At the end of the day your question wouldn't matter much, you wouldn't be compressing just once. Its not a question of either/or, but doing bunch of different compression form a master frame store (which you would archive) . Compressing does not cost that much time. Your personal workstation is mostly sitting 12 hours idle anyway, during that time it could compress 10 different bit rates on all your installed codecs.
For example european broadcast is 25 fps, which obviously is not divisible by 3 and you would need to tweak the timing and sound syncing a bit. 24 Would only be a good number for theatrical or digital insemination of content. So if you want both you need to do 2 versions, if you want American broadcast as well on top of that you need a 3rd version. No option here.
Another example if you send your file to YouTube then it matters little what you would like to choose. You will send what google wants you to send, and then google will automatically re compress the video, many times in fact. (see google does not compress just once)