UPDATE:
I changed the title of this post to more accurately reflect what is happening, which is that movies manually added to collections randomly disappear from the collection, leaving the collection either with fewer movies in it or completely empty. This happens repeatedly. Deleting the collection and then re-adding the movie does not resolve the problem. Simply adding the movies back to the existing collection (even if the collection contains no movies) also does not resolve the problem. This is highly repeatable (and so should have been resolved years ago).
<Rant>
Further research on this problem revealed many posts on Reddit indicating that this problem has been occurring for at least 3 years, more likely 4 years, without the defect ever being fixed. Very disappointed in the attention Plex Media staff pay to software defects.
</Rant>
Here is more constructive information: The following chunk of log entries, from Plex Media Server.1.log show the “expensive” (this is the term that appears in the log) metadata re-writes for the movie Baby Driver. When this metadata update is complete (see last entry in log sample) the movie is no longer in the collection. Those movies that were removed from their respective collections all have similar log entries. For those movies still remaining their respective collections, there are no such log entries.
In my opinion, I have provided enough information for a competent developer to resolve this defect.
Feb 22, 2023 02:06:00.390 [14464] DEBUG - [Req#3d6e] Loading Movie 'Baby Driver' XML from C:\Users\mbmas\AppData\Local\Plex Media Server\Metadata\Movies\7\e3fbe6e7c446060824e7e41b9a1cd8e3befbf54.bundle\Contents/_combined
Feb 22, 2023 02:06:00.392 [14464] DEBUG - [Req#3d6e] Item 433 (Baby Driver) Scanning metadata graphic elements in XML file ""/Info.xml
Feb 22, 2023 02:06:00.393 [12988] DEBUG - It took 0.000000 ms to retrieve 126 items.
Feb 22, 2023 02:06:00.399 [12988] DEBUG - Activity: ended sub-activity 7a7106ac-aa34-46ff-9846-c7f80888e64d parent: e0788948-5538-4f92-ba25-cc7d8817a3a0 overall progress: 100.0% (31/31)
Feb 22, 2023 02:06:00.399 [12988] DEBUG - Activity: updated activity e0788948-5538-4f92-ba25-cc7d8817a3a0 - completed 100.0% - Butler tasks
Feb 22, 2023 02:06:00.399 [12988] DEBUG - Activity: registered new sub-activity bd24c56e-d4d5-47c7-b45e-10b386afbbf6 - "RefreshLocalMedia" parent: e0788948-5538-4f92-ba25-cc7d8817a3a0 overall progress: 96.9% (31/32)
Feb 22, 2023 02:06:00.399 [12988] DEBUG - Activity: updated activity e0788948-5538-4f92-ba25-cc7d8817a3a0 - completed 96.9% - Butler tasks
Feb 22, 2023 02:06:00.400 [12988] DEBUG - Refreshing GUID: 'com.plexapp.agents.imdb://tt0088846?lang=en'
Feb 22, 2023 02:06:00.400 [12988] DEBUG - [HCl#61e] HTTP requesting GET http://127.0.0.1:32400/system/agents/update?mediaType=1&force=1&respectTags=1&guid=com%2Eplexapp%2Eagents%2Eimdb%3A%2F%2Ftt0088846%3Flang%3Den&id=435&agent=com.plexapp.agents.localmedia&async=0
Feb 22, 2023 02:06:00.400 [21684] DEBUG - Request: [127.0.0.1:50054 (Loopback)] GET /system/agents/update?mediaType=1&force=1&respectTags=1&guid=com%2Eplexapp%2Eagents%2Eimdb%3A%2F%2Ftt0088846%3Flang%3Den&id=435&agent=com.plexapp.agents.localmedia&async=0 (21 live) #3d71 GZIP Signed-in / Accept => */* / Accept-Encoding => gzip / Host => 127.0.0.1:32400 / User-Agent => PlexMediaServer/1.31.0.6654-02189b09f
Feb 22, 2023 02:06:00.400 [21684] DEBUG - [Req#3d71] [com.plexapp.system] Sending command over HTTP (GET): /system/agents/update?mediaType=1&force=1&respectTags=1&guid=com%2Eplexapp%2Eagents%2Eimdb%3A%2F%2Ftt0088846%3Flang%3Den&id=435&agent=com.plexapp.agents.localmedia&async=0
Feb 22, 2023 02:06:00.400 [21684] DEBUG - [Req#3d71/HCl#61f] HTTP requesting GET http://127.0.0.1:64359/system/agents/update?mediaType=1&force=1&respectTags=1&guid=com%2Eplexapp%2Eagents%2Eimdb%3A%2F%2Ftt0088846%3Flang%3Den&id=435&agent=com.plexapp.agents.localmedia&async=0
Feb 22, 2023 02:06:00.406 [14464] DEBUG - [Req#3d6e] Local media already exists (metadata://posters/com.plexapp.agents.imdb_59b569648a011aa5ee406787a8d680297a1152c9)
Feb 22, 2023 02:06:00.407 [14464] DEBUG - [Req#3d6e] Item 433 (Baby Driver) Scanning metadata graphic elements in XML file ""/Info.xml
Feb 22, 2023 02:06:00.407 [9684] DEBUG - Request: [127.0.0.1:50179 (Loopback)] GET /:/plugins (22 live) #3d70 GZIP Signed-in Token (mbmast) / Accept-Encoding => gzip / Connection => close / Host => 127.0.0.1:32400 / User-Agent => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/7.0.2 Safari/537.74.9 / X-Plex-Token => xxxxxxxxxxxxxxxxxxxx49bf-93f2-86ab419b5f4f
Feb 22, 2023 02:06:00.407 [9684] VERBOSE - [Req#3d70] It took 0.0 sec to serialize a list with 23 elements.
Feb 22, 2023 02:06:00.407 [18936] DEBUG - Completed: [127.0.0.1:50179] 200 GET /:/plugins (22 live) GZIP 0ms 618 bytes
Feb 22, 2023 02:06:00.410 [14464] DEBUG - [Req#3d6e] Local media already exists (metadata://art/com.plexapp.agents.imdb_3502c3a4f6236910b1cea6186941e52c25da1306)
Feb 22, 2023 02:06:00.411 [14464] VERBOSE - [Req#3d6e] Skipping expensive tags write for 'Baby Driver' (type: 4) since nothing changed.
Feb 22, 2023 02:06:00.412 [14464] VERBOSE - [Req#3d6e] Skipping expensive tags write for 'Baby Driver' (type: 5) since nothing changed.
Feb 22, 2023 02:06:00.414 [14464] DEBUG - [Req#3d6e] Doing expensive tags write for 'Baby Driver' because something changed.
Feb 22, 2023 02:06:00.426 [9684] DEBUG - Request: [127.0.0.1:50180 (Loopback)] GET /:/metadata/processing?id=435 (22 live) #3d78 GZIP Signed-in Token (mbmast) / Accept-Encoding => gzip / Connection => close / Host => 127.0.0.1:32400 / User-Agent => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/7.0.2 Safari/537.74.9 / X-Plex-Token => xxxxxxxxxxxxxxxxxxxx49bf-93f2-86ab419b5f4f
Feb 22, 2023 02:06:00.428 [18936] DEBUG - Completed: [127.0.0.1:50180] 200 GET /:/metadata/processing?id=435 (22 live) GZIP 1ms 166 bytes
Feb 22, 2023 02:06:00.437 [14464] VERBOSE - [Req#3d6e] Skipping expensive tags write for 'Baby Driver' (type: 1) since nothing changed.
Feb 22, 2023 02:06:00.437 [14464] VERBOSE - [Req#3d6e] Skipping expensive tags write for 'Baby Driver' (type: 7) since nothing changed.
Feb 22, 2023 02:06:00.437 [14464] VERBOSE - [Req#3d6e] Skipping expensive tags write for 'Baby Driver' (type: 8) since nothing changed.
Feb 22, 2023 02:06:00.439 [14464] VERBOSE - [Req#3d6e] Skipping expensive tags write for 'Baby Driver' (type: 10) since nothing changed.
Feb 22, 2023 02:06:00.440 [14464] DEBUG - [Req#3d6e] Updating metadata item (save) (Baby Driver) with ID 433
Feb 22, 2023 02:06:00.442 [14464] DEBUG - [Req#3d6e] Doing expensive tags write for 'Baby Driver' because something changed.
Feb 22, 2023 02:06:00.446 [14464] VERBOSE - [Req#3d6e] Skipping expensive tags write for 'Baby Driver' (type: 305) since nothing changed.
Feb 22, 2023 02:06:00.446 [14464] VERBOSE - [Req#3d6e] Skipping expensive tags write for 'Baby Driver' (type: 314) since nothing changed.
Feb 22, 2023 02:06:00.503 [14464] DEBUG - [Req#3d6e] Extras: 31 existing extras.
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver (Clean Trailer)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Sizzle Reel (Home Ent.)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Driver's Seat Featurette (International)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Character Vignette Bats (International)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Character Vignette Baby (International)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Character Vignette Doc (International)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Driven By Music Featurette (International)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Celebrity Impressions-Kevin Spacey/Ansel Elgort (Featurette)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Character Vignette Buddy & Darling' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Driven By Music (Featurette)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Character Vignette Bats' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Driver's Seat (Featurette)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Jon Hamm, Ansel Elgort And Jamie Foxx On Knowing On Set This Film Would Be Special' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Eiza Gonzalez And Lily James On Being In An Edgar Wright Film' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.504 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Edgar Wright On The Genesis Of The Film' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Jon Hamm On The Relationship Between 'Buddy' And 'Darling'' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Kevin Spacey On Music Playing An Important Role' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Lily James On The Relationship Between 'Debora' And 'Baby'' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Lanny Joon On His Character' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Jon Bernthal On Director Edgar Wright' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Jamie Foxx On Director Edgar Wright And The Fantastic Cast' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Flea On The Story Having Poetry, Music And Action' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Edgar Wright On This Movie Being His Dream Project' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Eiza Gonzalez On Her Character' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: CJ Jones On The Script' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Ansel Elgort On The Story Of Baby Driver' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Beat By Beat (Featurette)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Character Vignette Doc' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Revved Up (Vignette)' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Character Vignette Baby' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.505 [14464] DEBUG - [Req#3d6e] Extras: Checked extra 'Baby Driver: Baby Story' and found matched: 1 Media matched: 1
Feb 22, 2023 02:06:00.506 [14464] DEBUG - [Req#3d6e] Doing expensive tags write for 'Baby Driver' because something changed.
Feb 22, 2023 02:06:00.508 [14464] DEBUG - [Req#3d6e] Collections: Found 16 collections tags in section 3.
Feb 22, 2023 02:06:00.508 [14464] DEBUG - [Req#3d6e] Collections: We had 16 collections in the library already.
Feb 22, 2023 02:06:00.508 [14464] DEBUG - [Req#3d6e] Collections: Synced tags in section 3 in 0ms.
Feb 22, 2023 02:06:00.514 [14464] DEBUG - [Req#3d6e] Collections: Refreshed attributes for 0 collections in section 3 in 5ms.
Feb 22, 2023 02:06:00.515 [14464] DEBUG - [Req#3d6e] Collection: Refreshed visibility in section 3 in 1ms.
Feb 22, 2023 02:06:00.515 [14464] DEBUG - [Req#3d6e] Loading information from media bundle for part ID 895 from "C:\Users\mbmas\AppData\Local\Plex Media Server\Media\localhost\b\52ae6e03778bed30efbb65d33aec72df0356731.bundle\Contents"
Feb 22, 2023 02:06:00.516 [14464] DEBUG - [Req#3d6e] Loaded metadata for Baby Driver (ID 433) in 125ms
Feb 22, 2023 02:06:00.516 [14464] DEBUG - [Req#3d6e] There was a change for metadata item 433 (Baby Driver), saving.
Feb 22, 2023 02:06:00.516 [14464] DEBUG - [Req#3d6e] Updating metadata item (save) (Baby Driver) with ID 433
Feb 22, 2023 02:06:00.572 [14464] DEBUG - [Req#3d6e] Done with metadata update for 433